| 
			
			 
			
				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.
 |