Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 080

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!Помогите пожалуйста мне решить данное задание!Очень прошу!Я в программировании не особо понимаю,поэтому решил обратится к вам!Если не трудно,помогите решить пожалуйста!Буду очень благодарен!

Приложение:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  


Гук Виталий Валерьевич Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Гук Виталий Валерьевич (статус: Посетитель)
Вопрос отправлен: 11 ноября 2008, 22:44
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Я сегодня пришёл на работу в отличном настроении. У меня сейчас сложная программа в разработке, поэтому, чтобы окончательно проснуться, я написал тебе то, что ты просил. Программа компилится и работает правильно. Её исходник в приложении.

Однако, чтобы понять логику её работы, тебе придётся серьёзно в этом исходнике покопаться - для этого я в нём не оставил ни одного комментария. :)) Дерзай - научишься!

Приложение:
  1. program p2080;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils;
  7.  
  8. const Max = 20;
  9.  
  10. type
  11. TMyArray = array of Integer;
  12.  
  13. procedure RandomArray(var X: TMyArray; const Len: Integer);
  14. var
  15. Index: Integer;
  16. begin
  17. SetLength(X, Len);
  18. for Index:= 0 to Length(X) - 1 do
  19. X[Index]:= Random(10);
  20. end;
  21.  
  22. procedure Array2Str(const X: TMyArray; const Name: Char; var S: string);
  23. var
  24. Index: Integer;
  25. begin
  26. S:= 'array ' + Name + '[' + IntToStr(Length(X)) + ']:';
  27.  
  28. if Length(X) = 0
  29. then S:= S + ' (Empty)'
  30. else for Index:= 0 to Length(X) - 1 do
  31. S:= S + ' ' + IntToStr(X[Index]);
  32. end;
  33.  
  34. procedure ValueInArray(const X: TMyArray; const Value: Integer; var Exists: Boolean);
  35. var
  36. Index: Integer;
  37. begin
  38. Exists:= False;
  39. for Index:= 0 to Length(X) - 1 do
  40. if X[Index] = Value
  41. then begin
  42. Exists:= True;
  43. Break;
  44. end;
  45. end;
  46.  
  47. procedure IsUniqueElement(const X: TMyArray; const vIndex: Integer; var Unique: Boolean);
  48. var
  49. Index: Integer;
  50. begin
  51. Unique:= True;
  52. for Index:= 0 to Length(X) - 1 do
  53. if Index <> vIndex
  54. then if X[vIndex] = X[Index]
  55. then begin
  56. Unique:= False;
  57. Break;
  58. end;
  59. end;
  60.  
  61. var
  62. A, B, C: TMyArray;
  63. S: string;
  64. Exists, Unique: Boolean;
  65. Index: Integer;
  66. UniqueCount: Integer = 0;
  67. InArray: Integer = 0;
  68.  
  69. begin
  70. WriteLn(' Name: Poopkin Vasya');
  71. WriteLn(' Group number: 13');
  72. WriteLn(' Variant of task: 4');
  73. WriteLn(' Task: Ask the question on http://expert.delphi.int.ru/question/2080/'#13#10);
  74.  
  75. Randomize();
  76. RandomArray(A, 20);
  77. RandomArray(B, 10);
  78. SetLength(C, 20);
  79.  
  80. Array2Str(A, 'A', S);
  81. WriteLn(' ', S);
  82. Array2Str(B, 'B', S);
  83. WriteLn(' ', S);
  84.  
  85. Write(#13#10' Unique elements in array A[', Length(A), ']:');
  86.  
  87. for Index:= 0 to Length(A) - 1 do
  88. begin
  89. IsUniqueElement(A, Index, Unique);
  90. if Unique
  91. then begin
  92. Write(' ', A[Index]);
  93. Inc(UniqueCount);
  94.  
  95. ValueInArray(B, A[Index], Exists);
  96. if Exists
  97. then begin
  98. C[InArray]:= A[Index];
  99. Inc(InArray);
  100. end;
  101. end;
  102. end;
  103.  
  104. WriteLn(', total: ', UniqueCount);
  105.  
  106. SetLength(C, InArray);
  107. Array2Str(C, 'C', S);
  108. WriteLn(' ', S, ' <--- unique element(s) in A, exists in B.');
  109.  
  110. Write(#13#10' Press "ENTER" for exit...');
  111. ReadLn;
  112. end.


Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 13 ноября 2008, 09:25
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 14 декабря 2008, 01:02; участников в обсуждении: 5.
min@y™

min@y™ (статус: Доктор наук), 12 ноября 2008, 08:33 [#1]:

Не понятны 2 вещи:

Цитата:


Формировать одномерный массив С, содержащий те элементы исходных массивов А и В, которые указаны в задании.


Не вижу, где в задании они указаны.

Цитата:

Элементы массива А в одном экземпляре, которые присутствуют в массиве В.


Это мой мозг не переверил вообще.
Поясни, плиз, по-человечески, что ж тебе надо-то?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Гук Виталий Валерьевич

Гук Виталий Валерьевич (статус: Посетитель), 12 ноября 2008, 13:15 [#2]:

Самостоятельная работа 1
Тема. “Проектирование программы с использование метода пошаговой детализации”
Дано. Одномерные массивы. А и В, каждый из которых содержит не более 20 элементов целого типа.
Требуется. Разработать программу, которая должна выполнять следующие функции:
1. Вводить с клавиатуры исходные данные(или формировать исходные массивы А и В случайными числами). Размерность массивов А и В 10 - 20 элементов
2. Формировать одномерный массив С, содержащий те элементы исходных массивов А и В, которые указаны в задании. Элементы в массиве С не должны повторяться.
3. Выводить следующую информацию:
фамилию, имя;
номер группы;
номер варианта;
условие задачи;
число элементов в массиве A;
значения элементов массива A;
число элементов в массиве B;
значения элементов массива B;
результаты работы программы.
Каждая функция программы должны быть оформлена как процедура с параметрами.
Примечание. Дополнительный массив не использовать.

Варианты задания
1. Элементы массива А, имеющие нечетные значения, которых нет в массиве В.
2. Элементы с нечетными значениями, присутствующие в обоих массивах А и В.
3. Элементы массива А, имеющие четные значения, которые есть в массиве В.
4. Элементы массива А в одном экземпляре, которые присутствуют в массиве В.
5. Элементы массива А, присутствующие в одном экземпляре в массиве В.
6. Элементы массива А , повторяющиеся в массиве В несколько раз.
7. Элементы, присутствующие в обоих массивах А и В в одном экземпляре.
8. Элементы, присутствующие в одном экземпляре либо только в массиве А , либо только в массиве В.
9. Повторяющиеся элементы массива А , которые есть в массиве В.
10. Повторяющиеся элементы массива А , которые есть в массиве В только в одном экземпляре.
11. Повторяющиеся элементы массива А, которых нет в массиве В.
12. Элементы массива А в одном экземпляре, которые присутствуют в массиве В в нескольких экземплярах.
13. Элементы, присутствующие в нескольких экземплярах либо только в массиве А, либо только в массиве В.
14. Элементы, присутствующие в обоих массивах А и В в одном экземпляре.
15. Элементы, которые есть только в массиве А или только в массиве В в одном экземпляре.
16. Элементы массива А с четными номерами, которые есть в массиве В в нескольких экземплярах.
17. Элементы, которые присутствуют в массиве А, но отсутствуют в массиве В.
18. Элементы, которые присутствуют в обоих массивах А и В в нескольких экземплярах.
19. Элементы, которые присутствуют в нескольких экземплярах в массиве А и отсутствуют в массиве В.
20. Элементы, которые присутствуют в нескольких экземплярах либо только в массиве А, либо только в массиве В.
21. Элементы массива А с нечетными номерами, которые присутствуют в массиве В в одном экземпляре.
22. Элементы массива А с нечетными номерами, которые присутствуют в массиве В в нескольких экземплярах.
23. Элементы массива А с четными номерами, которых нет в массиве В.
24. Элементы массива А с четными номерами, которые есть в массиве В в одном экземпляре.
У меня 4 вариант!Значит это
Элементы массива А в одном экземпляре, которые присутствуют в массиве В.
Вот и всё что было написано!Помогите плз!
Вадим К

Вадим К (статус: Академик), 12 ноября 2008, 13:21 [#3]:

А Вы решили, что за Вас будут делать работу? Поверьте, даже если всё напишут и сделают, всё равно не сдадите.
С другой стороны у нас как то не принято решать курсовые/комплексные.
Надо спрашивать не "решите за меня, я такой....", а "Я не понимаю как сделать вот это и вот это". Возможно Вам просто надо открыть методичку/конспект лекций и посмотреть? там часто уже есть набросок решения, а потом определиться, что же конкретно непонятно.
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 13 ноября 2008, 09:27 [#4]:

Вот такой я сегодня добрый! :))
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Гук Виталий Валерьевич

Гук Виталий Валерьевич (статус: Посетитель), 14 ноября 2008, 18:54 [#5]:

Огромный благодарчик!
Nasgool

Nasgool (статус: 2-ой класс), 15 ноября 2008, 16:06 [#6]:

Вот так и рождаются дипломированные программисты. :)
Nostalgia

Nostalgia (статус: Посетитель), 14 декабря 2008, 01:02 [#7]:

ого) я тоже как-то не могла написать похожую програмку... знеала бы я про этот сайтик раньше)))))))))

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 26 мая 2020, 01:08
Выполнено за 0.01 сек.
Рейтинг@Mail.ru