Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2009, 01:40   #1
Annn
Новичок
Джуниор
 
Регистрация: 19.06.2009
Сообщений: 1
По умолчанию Delphi,массивы, процедуры и функции

вообще ничего не понимаю в программировании..первым делом стоит убрать лишний ввод и вывод) а дальше не знаю((
Дано 2 одномерных массива, каждый из которых не содержит повторяющихся элементов. ПОстроить 3ий массив, содержащий все элементы, входящие хотя бы в один из исходных массивов. В третьем массиве не допускаются повторяющиеся элементы..
Вот мои каракульки по этому поводу:
const n=5;
m=7;
type Tmas1=array[1..n] of real;
Tmas2=array[1..m] of real;
Tmas3=array of real;
procedure vvod a1(var a1: Tmas1);
var i: integer;
begin
for i:=1 to n do
begin
write(‘a1[‘,i,’]=’);
readln(a1[i]);
end;
end;
procedure vvod a2(var a2: Tmas2);
var j: integer;
begin
for j:=1 to m do
begin
write(‘a2[‘,j,’]=’);
readln(a2[j]);
end;
end;
procedure print_a1(const Tmas1);
var i:integer;
begin
for i:=0 to n do
writeln(‘a1[‘,i,’]=’,a1[i]);
end.
procedure print_a2(const Tmas2);
var i:integer;
begin
for i:=0 to m do
writeln(‘a2[‘,j,’]=’,a2[j]);
end.

procedure mas_b(const a1:Tmas1; a2:Tmas2; var b:Tmas3);
var i,j,k,c: integer;
begin
Setlength (b,n+m);
for c:=1 to n do
b[c]:=a1[c];
k:=n;
for j:=1 to n do
begin
for i:=1 to m do
begin
if a1[i]=a2[j] then
break;
end;
if a1[i]<>a2[j] then
begin
k:=k+1;
b[k]:=a2[j];
end;
end;
Setlength(b,k);
end;
procedure print_b(const b:Tmas3);
var j,len: integer;
begin
len:=Length(b);
for j:=0 to len do
writeln (‘b[‘,j,’]=’,b[j]);
end;


var a1:Tmas1;
a2:Tmas2;
b:Tmas3;
begin
writeln(‘massiv a1’);
vvod_a1(a1);
writeln(‘massiv a2’);
vvod_a2(a2);
print_a1(a1);
print_a2(a2);
mas_b(a1,a2,b);
writeln(‘massiv 3:’);
print_b(b);
readln;
end.
Annn вне форума Ответить с цитированием
Старый 19.06.2009, 01:50   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

ну во-первых это скорее паскаль, чем делфи.. во-вторых, что сказано про числа в массиве? Если брать целые числа из диапазона [0;255] то можно так
Код:
const
	m = 10;
	n = 5;
var
	a:array[1..m] of byte;
	b:array[1..n] of byte;
	c:array[1..m+n] of byte;
	x:set of byte;
	i,k:byte;
begin
	x := []; k := 1;
	randomize;
	for i:=1 to m do begin
		a[i] := random(10);
		write(a[i]:3);
		x := x + [a[i]];
	end;
	writeln;
	for i:=1 to n do begin
		b[i] := random(10);
		write(b[i]:3);
		x := x + [b[i]];
	end;
	writeln;
	for i:=0 to 9 do
		if (i in x) then begin
			c[k] := i;
			write(c[k]:3);
			inc(k);
		end;
	readln;
end.
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры и функции, двумерные массивы. (QBasic) poad_hok Помощь студентам 2 27.05.2009 18:59
Массивы, процедуры/функции Вампирёк Помощь студентам 1 16.03.2009 10:15
Программа на массивы и процедуры. Delphi Alex_2017 Помощь студентам 0 29.05.2008 12:48
Процедуры и функции 11111 Помощь студентам 10 26.11.2007 15:06
перезагружаемые процедуры и функции в delphi alex9090 Помощь студентам 4 16.11.2007 16:51