
20.02.2016, 12:38
|
Прохожий
|
|
Регистрация: 20.02.2016
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
|
|
Цитата:
Сообщение от Страдалецъ
А и не надо усложнять, раз не сказано как делать обход, то на наше усмотрение:
Код:
const
ASize = 4;
var
A4x4: Array[1..ASize,1..ASize] of Integer;
i,j,Summ,Probe: Integer;
ZeroFound: Boolean;
begin
Randomize;
ZeroFound := False;
Probe := 0;
Repeat
Inc(Probe);
WriteLn('Probe', Probe);
for i := 1 to ASize
do begin
for j := 1 to ASize
do begin
A4x4[i,j] := -5 + Random(10);
if not ZeroFound
then ZeroFound := A4x4[i,j] = 0;
Write(A4x4[i,j]:4);
end;
WriteLn;
end;
Until ZeroFound;
for i := 1 to ASize
do begin
Summ := 0; ZeroFound := False;
for j := 1 to ASize
do begin
if not ZeroFound and (A4x4[i,j] = 0)
then begin
ZeroFound := True;
Continue;
end;
if ZeroFound
then A4x4[i,j] := Summ
else if A4x4[i,j] > 0
then Summ := Summ + A4x4[i,j];
end;
end;
WriteLn;
for i := 1 to ASize
do begin
for j := 1 to ASize
do Write(A4x4[i,j]:4);
WriteLn;
end;
ReadLn;
end.
Как оказалось самая большая сложность - получить случайно 0 в массиве, потому там сделан генератор правильного массива. 
|
Вообщем не получается реализовать в делфи это.Может вы как-то прикрепитесь к стринггриду размером 4х4 с уже заполненными числами?
Последний раз редактировалось Atheist, 20.02.2016 в 12:42.
|