|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.03.2010, 09:30 | #1 |
Пользователь
Регистрация: 07.03.2010
Сообщений: 11
|
как переделать программку с операциями над множествами!
Задача: выполнить операции над множествами(объединение, пересечениеделение и т.д) Дано два авторынка на которых встречаются одинаковые марки машин и разные! Суть в том, что надо выполнить эти операции над этими авторынками!
Я сделал эти операции с числами, а с названиями машин не получается! program dm1; uses crt; const Nmax = 100; Nmax2 = 200; type m = array[1..Nmax] of integer; var a: m; b: m; n1, n2, i, j, t : integer; procedure prc(mas1, mas2: m); var itog : array [1..Nmax2] of integer; begin t := 0; for i := 1 to n1 do begin for j := 1 to n2 do begin if (a[i] = b[j]) then begin t := t + 1; itog[t] := a[i]; end; end; end; writeln('Perecechenie mnojestv:'); for i := 1 to t do begin writeln(itog[i]); end; end; procedure obd(mas1, mas2: m); var itog : array [1..Nmax2] of integer; begin for i := 1 to n1 do begin itog[i] := a[i]; end; for i := n1+1 to n1+n2 do begin itog[i] := b[i-n1]; end; for i := 1 to n1+n2 do begin for j := 1 to n1+n2 do begin if (itog[i] = itog[j]) and (i<>j) then begin itog[j] := 20034; end; end; end; for i := 1 to n1+n2 do begin if (itog[i]<>20034) then writeln(itog[i]); end; end; procedure raz(mas1, mas2: m); var itog : array [1..Nmax2] of integer; begin for i := 1 to n1 do begin for j := 1 to n2 do begin if (mas1[i] = mas2[j]) then mas1[i] := 20034; end; end; for i := 1 to n1 do begin if (mas1[i] <> 20034) then writeln(mas1[i]); end; end; begin clrscr; writeln('Vvedite kol-vo elementov pervogo massiva'); readln(n1); writeln('Vvedite kol-vo elementov vtorogo massiva'); readln(n2); writeln('Vvedite elementi pervogo massiva'); for i := 1 to n1 do begin readln(a[i]); end; writeln('Vvedite elementi vtorogo massiva'); for i := 1 to n2 do begin readln(b[i]); end; prc(a, B); readln; writeln('Obedinenie mnojestv'); obd(a, B); readln; writeln('Raznost a/b'); raz(a,B); readln; End. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ПРоблемы с булевыми операциями | vavisv | Помощь студентам | 0 | 01.03.2010 23:12 |
Операции над множествами | britva666 | Помощь студентам | 2 | 23.06.2009 20:33 |
помогите переделать программку ... | hen | Общие вопросы C/C++ | 14 | 07.04.2009 21:12 |
помогите переделать программку автокликер.. | sanek_sa | Общие вопросы по Java, Java SE, Kotlin | 5 | 29.11.2008 02:38 |