ВУЗ:
Составители:
Рубрика:
37
{Пример 3: программа по сортировке матрицы}
Type {объявление типа двумерного и одномерного массивов }
a = array [1..10,1..10] of real;
b = array [1..100] of real;
Var Matrix : a; {исходная матрица}
MatPositive
84
,MasNegative
85
: b; {одномерные массивы, формируемые
программой}
MaxPos,MaxNeg,MinPos,MinNeg : real; {максимальные и минимальные
значения среди положительных и отрицательных элементов}
i,j,n,m : integer; {переменные, используемые в циклах и при
вводе-выводе элементов матрицы}
NPos,NNeg : integer; {счетчики количества положительных и
отрицательных элементов}
BEGIN {Начало исполняемой части программы}
{В начале вводится матрица. Для этого полезно вывести подсказку о
необходимости ввода двух переменных, значения которых определяют
фактические размеры матрицы}
Write('n, m = '); ReadLn(n, m);
{Аналогично оформляется ввод значений элементов матрицы}
Write(Matrix = '); {Здесь нужен двойной цикл}
For i:=1 to n do
For j:=1 to m do
Read(Matrix[i,j]);
{Сортировка исходной матрицы и формирование двух одномерных
массивов, состоящих из положительных элементов с одновременным
подсчетом количества соответствующих элементов}
NPos:=0; NNeg:=0; {Начальные значения счетчиков}
For i:=1 to n do {Начало внешнего цикла}
For j:=1 to m do {Начало внутреннего цикла; т.к. быстрее из-
меняется второй индекс, матрица просматривается построчно}
Begin
If Matrix[i,j] > = 0
Then begin
NPos:=NPos+1;
MatPos[NPos]:=Matrix[i,j]
End
Else begin
NNeg:=NNeg+1;
MatNeg[NNeg]:=Matrix[i,j]
End;
End;
84
Positive [позитив ] – положительный.
85
Negative [нэгэтив ] – отрицательный.
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »