Разработка программы для подсчета количества отрицательных, положительных и нулевых элементов в матрице
Описание алгоритма решения задания Ввод пользователем количества строк и столбцов Заполнение матрицы (массива) рандомными значениями Вывод на экран получившейся матрицы Подсчет количества отрицательных чисел и вывод номеров этих чисел на экран Подсчет количества положительных чисел и вывод номеров этих чисел на экран Подсчет количества нулевых чисел и вывод номеров этих чисел на экран Описание… Читать ещё >
Разработка программы для подсчета количества отрицательных, положительных и нулевых элементов в матрице (реферат, курсовая, диплом, контрольная)
Задание
В матрице, А размером NxM подсчитать количество отрицательных, положительных и нулевых элементов и вывести на печать их порядковые номера в виде:
Отрицательные элементы: номер1, номер2,…
Положительные элементы: номер1, номер2,…
Нулевые элементы: номер1, номер2,…
Описание алгоритма решения задания Ввод пользователем количества строк и столбцов Заполнение матрицы (массива) рандомными значениями Вывод на экран получившейся матрицы Подсчет количества отрицательных чисел и вывод номеров этих чисел на экран Подсчет количества положительных чисел и вывод номеров этих чисел на экран Подсчет количества нулевых чисел и вывод номеров этих чисел на экран Описание переменных и подпрограмм программа алгоритм экран пользователь В программе используются следующие переменные:
i, j -вспомогательные переменные типа Byte.
N, M -переменные типа Byte хранящие количество строк и столбцов соответственно.
a, b, c -переменные типа Integer хранящие количество положительных, отрицательных и нулевых элементов соответственно.
х -переменная типа Array. х в нашей программе — это двумерный массив, каждая ячейка которого хранит элементы матрицы Текст программы.
Program KW;
Uses.
Crt;
Var.
i, j, N, M: byte;
a, b, c:integer;
x:array[1.10,1.10] of integer;
Begin.
ClrScr;
Randomize;
Writeln ('Введите размеронсть матрицы: ');
Write ('Количество строк: ');
Readln (N);
Write ('Количетсво столбцов: ');
Readln (M);
for i:=1 to N do.
for j:=1 to M do.
x[i, j]: =20-Random (40);
Writeln ('Исходная матрица:');
for i:=1 to N do.
for j:=1 to M do.
Begin.
if jM then Write (x[i, j]: 3,' ').
else Writeln (x[i, j]: 3);
End;
Writeln;
Writeln ('Отрицательные элементы:');
for i:=1 to N do.
for j:=1 to M do.
if x[i, j]<0 then.
Begin.
inc (c);
Write ('[', i,';', j,'] ');
if c mod 6 =0 then Writeln;
End;
Writeln;
Writeln ('Всего: ', c);
Writeln;
Writeln ('Положительные элементы:');
for i:=1 to N do.
for j:=1 to M do.
if x[i, j]>0 then.
Begin.
inc (a);
Write ('[', i,';', j,'] ');
if a mod 6 =0 then Writeln;
End;
Writeln;
Writeln ('Всего: ', a);
Writeln;
Writeln ('Нулевые элементы:');
for i:=1 to N do.
for j:=1 to M do.
if x[i, j]=0 then.
Begin.
inc (b);
Write ('[', i,';', j,'] ');
if b mod 6 =0 then Writeln;
End;
Writeln;
Writeln ('Всего: ', b);
Readln;
End.
Результат работы программы.
При анализе работы программы, можно убедиться, что она работает правильно.