|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.11.2008, 19:14 | #1 |
Регистрация: 27.11.2008
Сообщений: 8
|
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент
Люди добрые, помогите, плизззз, завтра зачет, а я эту задачку никак не могу решить!!!!!
Даны одномерные массивы А(состоит из 20 элементов) и В(из 10). Сформировать массивы, состоящие из элементов: 1) равных и в А, и в В 2) А, которых нет в В 3) В, которых нет в А Сформировать массивы А и В я вот смогла: PROGRAM pr; uses crt; const n = 20; m = 10; var a, c : array [1..n] of real; b : array [1..m] of real; t, r, j, i ,k, pr : integer; BEGIN clrscr; k:=1; for i:=1 to n do begin a[i]:=random(50); write (a[i]:5:0); end; readln; writeln; for j:=1 to m do begin b[j]:=random(30); write (b[j]:5:0); end; readln; writeln; но дальше возникла проблемка)) |
27.11.2008, 20:33 | #2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Код:
|
27.11.2008, 20:53 | #3 |
Регистрация: 27.11.2008
Сообщений: 8
|
Хм, суть задания состоит чуть-чуть в другом. Эта прога получает массивы
Massiv A: 4 1 4 2 8 9 7 3 9 9 6 7 3 9 5 7 8 0 0 8 Massiv B: 6 7 5 0 0 5 6 3 6 8 Massiv C: 8 7 3 6 5 0 0 Massiv A: 4 1 4 2 9 9 9 7 3 9 7 8 8 Massiv B: 5 6 6, а необходимо получить Massiv C: 8 7 3 6 5 0 Massiv A: 4 1 2 9 7 3 8 Massiv B: 5 6 . Как это сделать? |
27.11.2008, 21:43 | #4 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Надо писать, что повторяющиеся элементы должны быть удалены.
Предварительно удалите повторяющиеся жлементы из массивов А и В также, как потом удаляем совпадающие из А и В Последний раз редактировалось puporev; 27.11.2008 в 21:51. |
27.11.2008, 22:31 | #5 |
Регистрация: 27.11.2008
Сообщений: 8
|
а с помошью флага можно это как-то сделать? тогда бы повторяющихся элементов не было
Последний раз редактировалось LyaLya; 27.11.2008 в 22:36. |
27.11.2008, 22:50 | #6 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Можно вручную массив вводить без повторяющихся, можно программно сделать чтобы повторяющиеся не попадали в массив типа:
Код:
|
27.11.2008, 22:56 | #7 |
Регистрация: 27.11.2008
Сообщений: 8
|
можно, но препод только флаги требует, причем белый не помогает
|
27.11.2008, 23:04 | #8 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Так тут же с флагом
|
27.11.2008, 23:16 | #9 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Вот вариан рабочий но без флагов. Закомментированное можно убрать, это я для проверки делал.
Код:
|
27.11.2008, 23:18 | #10 |
Регистрация: 27.11.2008
Сообщений: 8
|
не, флаг должен использоваться где-то вроде этого
k:=0; for i:=1 to n do for j:=1 to m do begin if a[i]=b[j] then begin pr:=0; for l:=1 to k do if a[i]=c[l] then pr:=1; if pr=0 then begin k:=k+1; c[l]:=a[i]; end; end; end; |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++/ Одномерные массивы | BennyBenassy | Общие вопросы C/C++ | 6 | 23.02.2009 14:27 |
Одномерные массивы - Pascal | W_P | Помощь студентам | 8 | 27.02.2008 19:24 |
Паскаль. 1.Даны массивы.2 Дан X найти... | Stelix | Помощь студентам | 7 | 20.11.2007 21:08 |