ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Common Board

массивы, паскаль
Posted by Sombrenom 18 May 2013 19:58
кто бы мог помоч в решении задачек? так то я решил их, но ответ получается не таким каким должен быть по условию

В массиве целых положительных и отрицательных чисел A[5,5], полученным случайным образом, вычислить сумму элементов третьего столбца и главной диагонали. Если сумма элементов главной диагонали больше суммы элементов третьего столбца, то элементы последней строки рассортировать в порядке убывания. В противном случае все отрицательные элементы исходного массива удвоить.


program stim;
uses crt;
var
r: array[1..5, 1..5] of integer;
t: array[1..5] of integer;
i, j, S3, Sg, min, z, b : integer;
begin
clrscr;
randomize;
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
r[i,j]:=random(100)-50;
write(r[i,j]:5);
end;
writeln;
end;
S3:=0;
Sg:=0;
for i:=1 to 5 do
begin
S3:=S3+r[i,3];
Sg:=Sg+r[i,i];
end;
writeln('summa3=', S3);
writeln('summa glavnoi diagonali=', Sg);
if Sg>S3
then
begin
for i:=1 to 5 do
for j:=1 to 5 do
if (r[i,j] mod 2=0)
then
begin
z:=z+1;
t[z]:=r[5,j];
end;
for i:=1 to z do
begin
write(t[i]:5);
end;
writeln;
for i:=2 to z do
begin
min:=t[i];
j:=1;
if min<t[j] then inc(j);
for b:=i-1 to j do
t[b+1]:=t[b];
t[j]:=min;
end;
writeln('novii massiv');
for i:=1 to z do
write(t[i]:5);
writeln;
readln;
end
else
begin
for i:=1 to 4 do
for j:=1 to 4 do
if (r[i,j] mod 2<0)
then
r[i,j]:=2*r[i,j];
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
write(r[i,j]:5);
readln;
end;
writeln;
end;
readln;
end;
end.