|
|
back to boardCommon Boardмассивы, паскаль кто бы мог помоч в решении задачек? так то я решил их, но ответ получается не таким каким должен быть по условию В массиве целых положительных и отрицательных чисел 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. |
|
|