Advertisement
Alex_Fomin

Марь Яна

Nov 4th, 2015
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.56 KB | None | 0 0
  1. // Вычислить количество не равных нулю элементов матрицы, если
  2. // последний по строке и столбцу элемент матрицы равен 3.2,
  3. // в противном случае выдать сообщение "УСЛОВИЕ НЕ ВЫПОЛНЯЕТСЯ"
  4.  
  5. Program CPascal;
  6.  
  7. const _max=50; // Максимальный размер матрицы
  8.  
  9. var matrix:array [1.._max,1.._max] of real;
  10.     i,j,n,m,count,temp:byte;
  11.     flag:boolean;
  12.    
  13. Begin
  14. // Зададим размер матрицы и проверим на допустимы диапазон...
  15. Repeat
  16. Write('Введите кол-во строк (1 <= N <= ',_max,'): '); Readln(N);
  17. if not (1 <= N) and (N <= _max) then Writeln('Ошибка: Неверный диапазон! Повторите ввод...');
  18. Until (1 <= N) and (N <= _max);
  19.  
  20. Repeat
  21. Write('Введите кол-во столбцов (1 <= M <= ',_max,'): '); Readln(M);
  22. if not (1 <= M) and (M <= _max) then Writeln('Ошибка: Неверный диапазон! Повторите ввод...');
  23. Until (1 <= M) and (M <= _max);
  24.  
  25. // Заполним матрицу псевдослучайными числами и выведем на экран
  26. Writeln('Исходная матрица A(',N,'x',M,'):');
  27. for i:=1 to n do
  28.     Begin
  29.     for j:=1 to m do
  30.         Begin
  31.         // Получим псевдослучайные числа в интервале от -2 до 2
  32.         Matrix[i,j]:=Random(5)-2;
  33.         // Добавим разнообразие...
  34.         Temp:=Random(2); // Подобие типа Boolean...
  35.         if (Temp = 1) then Matrix[i,j]:=Matrix[i,j]+(1+Random(9)/10);
  36.         // Выводим элемент матрицы на экран
  37.         Write(Matrix[i,j]:7:2);
  38.         end;
  39.     Writeln;
  40.     end;
  41. Writeln;
  42.  
  43. // Проверяем условие выполняется ли условие...
  44. Flag:=False;
  45. for i:=1 to n do if (Matrix[i,m] = 3.2) then Flag:=True;
  46.  
  47. // Если условие выполняется, то считаем элементы, если нет - выводим сообщение
  48. if Flag then
  49.             Begin
  50.             Count:=0;
  51.             for i:=1 to n do
  52.                 for j:=1 to m do if (Matrix[i,j] <> 0.0) then Inc(Count);
  53.                
  54.             // Выводим ответ...
  55.             Writeln('Кол-во элементов матрицы не равных нулю: ',Count);
  56.             end
  57.         else Writeln('Условие не выполняется :(');
  58. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement