Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Вычислить количество не равных нулю элементов матрицы, если
- // последний по строке и столбцу элемент матрицы равен 3.2,
- // в противном случае выдать сообщение "УСЛОВИЕ НЕ ВЫПОЛНЯЕТСЯ"
- Program CPascal;
- const _max=50; // Максимальный размер матрицы
- var matrix:array [1.._max,1.._max] of real;
- i,j,n,m,count,temp:byte;
- flag:boolean;
- Begin
- // Зададим размер матрицы и проверим на допустимы диапазон...
- Repeat
- Write('Введите кол-во строк (1 <= N <= ',_max,'): '); Readln(N);
- if not (1 <= N) and (N <= _max) then Writeln('Ошибка: Неверный диапазон! Повторите ввод...');
- Until (1 <= N) and (N <= _max);
- Repeat
- Write('Введите кол-во столбцов (1 <= M <= ',_max,'): '); Readln(M);
- if not (1 <= M) and (M <= _max) then Writeln('Ошибка: Неверный диапазон! Повторите ввод...');
- Until (1 <= M) and (M <= _max);
- // Заполним матрицу псевдослучайными числами и выведем на экран
- Writeln('Исходная матрица A(',N,'x',M,'):');
- for i:=1 to n do
- Begin
- for j:=1 to m do
- Begin
- // Получим псевдослучайные числа в интервале от -2 до 2
- Matrix[i,j]:=Random(5)-2;
- // Добавим разнообразие...
- Temp:=Random(2); // Подобие типа Boolean...
- if (Temp = 1) then Matrix[i,j]:=Matrix[i,j]+(1+Random(9)/10);
- // Выводим элемент матрицы на экран
- Write(Matrix[i,j]:7:2);
- end;
- Writeln;
- end;
- Writeln;
- // Проверяем условие выполняется ли условие...
- Flag:=False;
- for i:=1 to n do if (Matrix[i,m] = 3.2) then Flag:=True;
- // Если условие выполняется, то считаем элементы, если нет - выводим сообщение
- if Flag then
- Begin
- Count:=0;
- for i:=1 to n do
- for j:=1 to m do if (Matrix[i,j] <> 0.0) then Inc(Count);
- // Выводим ответ...
- Writeln('Кол-во элементов матрицы не равных нулю: ',Count);
- end
- else Writeln('Условие не выполняется :(');
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement