Переделать из вещественного в целочисленный заранее спасибо А то я догнать не могу как
uses crt;
const n:=5;
var i,j:integer;
t,sum:real;
b:array[1..n,1..n] of real;
begin
clrscr;
for i:=1 to 5 do begin
for j:=1 to 5 do begin
b[i,j]:=random;
write(b[i,j]:0:2,' ');
end;
writeln;
end;
for i:=1 to 5 do begin
for j:=1 to 5 do begin
t:=b[1,j];
b[1,j]:=b[5,j];
b[5,j]:=t;
end;
sum:=0;
for i:=1 to 5 do
begin
for j:=1 to 5 do
if (i+j-1<5)then
begin
sum:=sum+b[i,j];
end;
end;
end;
writeln;
writeln(sum:2:2);
writeln;
end
М | Теги! Правила Форума, п.5, и правила раздела Задачи, п.2 Lapp |
b:array[1..n,1..n] of integer;????????Maybe)
М | Теги.. |
uses crt;
const
n:=5;
var
i,j: integer;
t,sum: LongInt; // тут
b:array[1..n,1..n] of integer; // тут
begin
for i:=1 to 5 do begin
for j:=1 to 5 do begin
b[i,j]:=random(n*n); // тут
write(b[i,j]:0:2,' ');
end;
writeln;
end;
for i:=1 to 5 do // begin // ЗАЧЕМ делать обмен 5 РАЗ?? в любом случае, begin - лишнее
for j:=1 to 5 do begin // почему до 5? может, до n?
t:=b[1,j];
b[1,j]:=b[5,j];
b[5,j]:=t;
end;
sum:=0;
for i:=1 to 5 do begin
for j:=1 to 5 do
if (i+j-1<5)then begin // не нужно заключать один оператор в begin..end
sum:=sum+b[i,j];
end;
end;
//end; // лишний end, он уравновешивал тот begin, и все было еще хуже, чем казалось ))
writeln;
writeln(sum); // тут
writeln;
end. // точка
Lapp извини конешно,но
b:array[1..n,1..n] of real; // тут
b:array[1..n,1..n] of real; // тутты ничего не изменил. А разве не надо переделать сам массив из вещественного в целочисленный?
Андрей, что с тобой? В твоей программе еще как минимум 3 символа - лишние. Ну, рассказывать, какие именно - не буду (при смене типа данных с вещественного на целочисленный, первое, что делается - это изменяются форматы вывода), мало ли, может это домашнее задание топикстартеру Или еще не выздоровел?
const
n:=5; // здесь не буду исправлять.. ))
var
i,j: integer;
t,sum: LongInt; // тут
b:array[1..n,1..n] of integer; // тут
begin
for i:=1 to 5 do begin
for j:=1 to 5 do begin
b[i,j]:=random(n*n); // тут
write(b[i,j]:4,' '); // ТУТ
end;
writeln;
end;
for i:=1 to 5 do // begin // ЗАЧЕМ делать обмен 5 РАЗ?? в любом случае, begin - лишнее
for j:=1 to 5 do begin // почему до 5? может, до n?
t:=b[1,j];
b[1,j]:=b[5,j];
b[5,j]:=t;
end;
sum:=0;
for i:=1 to 5 do begin
for j:=1 to 5 do
if (i+j-1<5)then begin // не нужно заключать один оператор в begin..end
sum:=sum+b[i,j];
end;
end;
//end; // лишний end, он уравновешивал тот begin, и все было еще хуже, чем казалось ))
writeln;
writeln(sum); // тут
writeln;
end.