|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.05.2009, 19:58 | #1 |
Новичок
Джуниор
Регистрация: 19.05.2009
Сообщений: 5
|
задача по массивам // Delphi //код прилагается
Задачка заключается в следующем:
Дано 2 одномерных массива,каждый из которых не содержит повторяющихся элементов.Построить 3-ий массив,содержащий все элементы,входящие хотя бы в один из массивов.В третьем массиве так же не допускаются повторяющиеся элементы. Я работала над ней,но в итоге-что-то не так-3-ий массив просто зануляет.Как исправить ошибку в коде-не знаю. Была бы очень признательна тому,кто бы мне эту ошибку нашел и исправил. program LR_4; {$APPTYPE CONSOLE} uses SysUtils; const n=4; const m=4; type Tmas1=array[1..n] of integer; type Tmas2=array[1..m] of integer; type Tmas3=array[1..n+m] of integer; procedure vvod_ma(var a:array of integer); var i:integer; begin writeln('vvedite 1 massiv'); for i:=1 to n do begin write('a[',i,']= ');readln(a[i]); end; end; procedure vvod_mb(var b:array of integer); var i:integer; begin writeln('vvedite 2 massiv'); for i:=1 to m do begin write('b[',i,']= ');readln(b[i]); end; end; function stroim_c(const a:Tmas1;const b:Tmas2;var c:Tmas3):integer; var i,j,k,naiden:integer; begin for i:=1 to n do c[i]:=a[i]; k:=n; for i:=1 to m do begin naiden:=0; for j:=1 to k do begin if b[i]=c[j] then begin naiden:=1 ; break; end; end; if naiden=0 then begin k:=k+1; c[k]:=b[i]; end; end; result:=k; end; procedure print_m(const a:array of integer;const b:array of integer;const c:array of integer); var i:integer; begin writeln('1 massiv'); for i:=1 to n do writeln(a[i]:4); writeln; writeln('2 massiv'); for i:=1 to m do writeln(b[i]:4); writeln; writeln('3 massiv'); for i:=1 to n+m do writeln(c[i]:4); writeln; end; var a:Tmas1;b:Tmas2;c:Tmas3; k:integer; begin writeln('massiv'); vvod_ma(a); vvod_mb(b); print_m(a,b,c); k:=stroim_c(a,b,c); writeln('k=',k); readln; end. Последний раз редактировалось Makotya; 19.05.2009 в 20:31. |
19.05.2009, 20:00 | #2 |
Новичок
Джуниор
Регистрация: 19.05.2009
Сообщений: 5
|
жду помощи Последний раз редактировалось Makotya; 19.05.2009 в 20:33. |
20.05.2009, 22:04 | #3 |
Новичок
Джуниор
Регистрация: 19.05.2009
Сообщений: 5
|
раз мне никто не ответил,я сама догадалась.ошибка оказалась в последних строчках.мало ли кому понадобится-выкладываю испр вариант!
program lr_4_T; {$APPTYPE CONSOLE} uses SysUtils; const n=4; const m=4; type Tmas1=array[1..n] of integer; type Tmas2=array[1..m] of integer; type Tmas3=array[1..n+m] of integer; procedure vvod_ma(var a:array of integer); var i:integer; begin writeln('vvedite 1 massiv'); for i:=1 to n do begin write('a[',i,']= ');readln(a[i]); end; end; procedure vvod_mb(var b:array of integer); var i:integer; begin writeln('vvedite 2 massiv'); for i:=1 to m do begin write('b[',i,']= ');readln(b[i]); end; end; function stroim_c(const a:Tmas1;const b:Tmas2;var c:Tmas3):integer; var i,j,k,naiden:integer; begin for i:=1 to n do c[i]:=a[i]; k:=n; for i:=1 to m do begin naiden:=0; for j:=1 to k do begin if b[i]=c[j] then begin naiden:=1 ; break; end; end; if naiden=0 then begin k:=k+1; c[k]:=b[i]; end; end; result:=k; end; procedure print_m(const a:array of integer;const b:array of integer;const c:array of integer); var i:integer; begin writeln('1 massiv'); for i:=1 to n do writeln(a[i]:4); writeln; writeln('2 massiv'); for i:=1 to m do writeln(b[i]:4); writeln; writeln('3 massiv'); for i:=1 to n+m do writeln(c[i]:4); writeln; end; var a:Tmas1;b:Tmas2;c:Tmas3; k:integer; begin writeln('massiv'); vvod_ma(a); vvod_mb(b); k:=stroim_c(a,b,c); print_m(a,b,c); writeln('k=',k); readln; end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите пожалуйста с задачей. | Kold | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 12.12.2008 20:20 |
Помогите с задачей пожалуйста | Apache | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.10.2008 20:35 |
Пожалуйста, помогите по массивам | Reaper_Man | Помощь студентам | 9 | 02.03.2008 10:43 |