Advertisement
Alex_Fomin

Untitled

Nov 29th, 2015
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.37 KB | None | 0 0
  1. uses
  2.   system;
  3.  
  4. var
  5.   arr: array [,] of integer;
  6.   temp: string;
  7.   n, m, min: integer;
  8.  
  9. begin
  10.   repeat
  11.     Console.Write('Введите кол-во строк (1 <= N <= ' + MaxByte + '): ');
  12.     temp := Console.ReadLine();
  13.     if not TryStrToInt(temp, n) then Console.WriteLine('Ошибка: Введено не верное значение. Повторите ввод...');
  14.   until TryStrToInt(temp, n);
  15.   repeat
  16.     Console.Write('Введите кол-во строк (1 <= M <= ' + MaxByte + '): ');
  17.     temp := Console.ReadLine();
  18.     if not TryStrToInt(temp, m) then Console.WriteLine('Ошибка: Введено не верное значение. Повторите ввод...');
  19.   until TryStrToInt(temp, m);  
  20.  
  21.   SetLength(arr, n, m);
  22.     Console.Clear; // Чистим экран...
  23.   var flag := false;
  24.   var null := false;
  25.  
  26.   Console.WriteLine('Исходный массив: ');
  27.   for var i := 0 to arr.GetLength(0) - 1 do
  28.   begin
  29.     for var j := 0 to arr.GetLength(1) - 1 do
  30.     begin
  31.       arr[i, j] := PABCsystem.Random(101) - 50;
  32.       Console.Write('{0,5}', arr[i, j]);
  33.      
  34.         // ищем минимальный из положительных...
  35.       if not flag and (arr[i, j] > 0) then
  36.       begin
  37.         flag := true;
  38.         min := arr[i, j];
  39.       end
  40.       else if flag and (arr[i, j] > 0) and (min > arr[i, j]) then min := arr[i, j];
  41.      
  42.         // нулевые элементы
  43.       if arr[i, j] = 0 then null := true;
  44.     end;
  45.     Console.WriteLine();
  46.   end;
  47.  
  48.   if flag then
  49.   begin
  50.     Console.WriteLine('Минимальный положительный элемент: ' + min);
  51.     if null then
  52.     begin
  53.       for var i := 0 to arr.GetLength(0) - 1 do
  54.         for var j := 0 to arr.GetLength(1) - 1 do if arr[i, j] = 0 then arr[i, j] := min;
  55.     end
  56.     else
  57.     begin
  58.       Console.WriteLine('Нулевые элементы отсутствуют :(');
  59.       for var j := 0 to arr.GetLength(1) - 1 do arr[arr.GetLength(0) - 1, j] := min;
  60.     end;
  61.    
  62.     Console.WriteLine('Новый массив: ');
  63.     for var i := 0 to arr.GetLength(0) - 1 do
  64.     begin
  65.       for var j := 0 to arr.GetLength(1) - 1 do Console.Write('{0,5}', arr[i, j]);
  66.       Console.WriteLine();
  67.     end;  
  68.   end
  69.   else Console.WriteLine('Положительные элементы отсутствуют :(');
  70. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement