|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  задача про массив чисел Немогу правлиьно составить условие. Условие.Дан массив 4х4(рандомные числа).Нужно все числа после первого нуля заменить суммой всех положительных чисел до него.Как правильно составить условие if?  | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Что значит "первый нуль". Обходить массив можно поразному. | 
| 
			 
			#3  
			
			
			
			
		 | ||||
| 
 | ||||
|   А и не надо усложнять, раз не сказано как делать обход, то на наше усмотрение: Код: 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. Последний раз редактировалось Страдалецъ, 20.02.2016 в 11:21. | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 Последний раз редактировалось Atheist, 20.02.2016 в 12:42. |