Дан массив А(100). Распечать наименьше значение попарных сумм. Решите, пожалуйста!!! (С использованием команда random или без неё).
Answers & Comments
Merovingian
Program n1; const razmer = 2001; var a:array [1..100] of integer; b:array [0..100,0..100] of integer; i,j,min:integer; begin writeln('Исходный массив: '); for i:=1 to 100 do begin a[i]:=random(razmer)-razmer div 2; write(a[i],' '); b[i,0]:=a[i]; b[0,i]:=a[i]; end; writeln;
min:=a[1]+a[2];
writeln('Все возможные значения попарных сумм:'); for i:=1 to 100 do begin for j:=1 to i-1 do begin b[i,j]:=b[0,j]+b[i,0]; write(b[i,j],' '); if b[i,j]<min then min:=b[i,j]; end; writeln; end;
writeln('Наименьшее значение попарной суммы: ',min); end.
1 votes Thanks 1
Merovingian
Выводит все значения попарных сумм в виде трегольника Для компактности их можно вывести в файл
Answers & Comments
const razmer = 2001;
var a:array [1..100] of integer;
b:array [0..100,0..100] of integer;
i,j,min:integer;
begin
writeln('Исходный массив: ');
for i:=1 to 100 do
begin
a[i]:=random(razmer)-razmer div 2;
write(a[i],' ');
b[i,0]:=a[i];
b[0,i]:=a[i];
end;
writeln;
min:=a[1]+a[2];
writeln('Все возможные значения попарных сумм:');
for i:=1 to 100 do
begin
for j:=1 to i-1 do
begin
b[i,j]:=b[0,j]+b[i,0];
write(b[i,j],' ');
if b[i,j]<min then min:=b[i,j];
end;
writeln;
end;
writeln('Наименьшее значение попарной суммы: ',min);
end.
Для компактности их можно вывести в файл