Помогите пожалуйста. Написала программу с подпрограммой ** паскале, но что-то нет так. В...

0 голосов
36 просмотров

Помогите пожалуйста. Написала программу с подпрограммой на паскале, но что-то нет так. В компьютере не работает помогите найти и исправить ошибку.
Задание:
Дано: массивы 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.


Информатика (42 баллов) | 36 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Исправленная программа:
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 

(194k баллов)