Написала программу с подпрограммой на паскале, но что-то нет так. в компьютере не работает найти и исправить ошибку. : дано: массивы i(11), k(11). сформировать массив м (11), элементы которого вычисляются по формуле m j= i j+ k j (j=1,11). массивы i,k предварительно реорганизовать следующим образом: на первом месте, в данных массивах должен стоять элемент с минимальным значением . поиск минимального элемента массива и реорганизацию массива оформить в виде подпрограммы. программа: program lab5; type masiv=array[1..11]of integer; var i,k,m: masiv; n,x1,x2: integer; procedure vivod(n: integer; m: masiv); var j: integer; begin for j: =1 to n do write(m[j],''); writeln; end; procedure vvod(n: integer; var vt: masiv); var i,j: byte; min,tmp: integer; begin j: =1; min: =vt[1]; for i: =2 to n do if (min> vt[i]) then begin min: =vt[i]; j: =i; end; tmp: =vt[1]; vt[1]: =min; vt[j]: =tmp; end; procedure poisk(var vt: masiv); var j: =byte; begin for j: =1 to n do write(vt[j]: 6); writeln(' '); end; begin writeln('дано: '); randomize; for j: =1 to n do begin i[j]: =random(-56,40); k[j]: =random(-56,40); end; write('массив i[',max,']: '); vivod; masiv(i); write('массив k [',max,']: '); vivod; masiv (k); reorganize; masiv(i); reorganize; masiv(k); write('m[j]=i[j]+k[j] '); for j: =1 to n do m[j]: =i[j]+k[j]; writeln('массив m[j,max,]: '); end.
Program lab5;
const n=11;
type masiv=array[1..n]of integer;
var l,k,m:masiv;
i:integer;
procedure vivod(mas:masiv);
var i:integer;
begin
for i:=1 to n do write(mas[i],' ');
writeln;
end;
procedure new_mas(var mas:masiv);
var i,j:byte;
min:integer;
begin
j:=1;
min:=mas[1];
for i:=2 to n do
if (min>mas[i]) then
begin
min:=mas[i]; j:=i;
end;
writeln('min = ',min);
mas[j]:=mas[1];
mas[1]:=min;
end;
begin
writeln('Дано:');
randomize;
for i:=1 to n do
begin
l[i]:=random(-56,40);
k[i]:=random(-56,40);
end;
write('массив L[',n,']: ');
vivod(l);
new_mas(l);
write('измененный массив L[',n,']: ');
vivod(l);
write('массив K [',n,']: ');
vivod(k);
new_mas(k);
write('измененный массив K[',n,']: ');
vivod(k);
for i:=1 to n do m[i]:=l[i]+k[i];
write('массив M[',n,']: ');
vivod(m);
end.
Пример:
Дано:
массив L[11]: 4 -34 -2 3 -53 -53 38 1 -33 -3 11
min = -53
измененный массив L[11]: -53 -34 -2 3 4 -53 38 1 -33 -3 11
массив K [11]: -43 -18 -8 -9 34 -34 -49 40 -47 -22 9
min = -49
измененный массив K[11]: -49 -18 -8 -9 34 -34 -43 40 -47 -22 9
массив M[11]: -102 -52 -10 -6 38 -87 -5 41 -80 -25 20