Читайте также: |
|
Описание матрицы
CONST
N1 = 20; {МАКСИМАЛЬНОЕ КОЛ-ВО СТРОК}
М1 = 20; {МАКСИМАЛЬНОЕ КОЛ-ВО СТОЛБЦОВ}
TYPE
MAS2 = ARRAY[1..N1,1..M1] OF INTEGER;
VAR
B: MAS2;
N,M: INTEGER; {РЕАЛЬНЫЕ РАЗМЕРЫ}
I,J: INTEGER; {ИНДЕКСЫ}
Ввод массива
WRITELN(‘ВВЕДИТЕ КОЛ-ВО СТРОК N = ’);
READ(N);
WRITELN(‘ВВЕДИТЕ КОЛ-ВО СТОЛБЦОВ M = ’);
READ(M);
FOR I:=1 TO N DO
FOR J:=1 TO M DO
BEGIN
WRITE(‘B[‘, I, ‘,’, J, ’]= ‘);
READ(B[I,J]);
END;
Вывод массива
FOR I:=1 TO N DO
BEGIN
FOR J:= 1 TO M DO
WRITE(B[I]);
WRITELN;
END;
ПРИМЕЧАНИЕ: Алгоритмы поиска произведения, количества, суммы, средних арифметических и геометрических, максимальных и минимальных значений соответствуют алгоритмам для векторов, только необходимо завести еще цикл для столбцов.
Рассмотрим далее несколько специфических алгоритмов для матриц.
Найти минимальный элемент в каждом столбце
FOR J:= 1 TO M DO
BEGIN
MIN:= B[1,J];
FOR I:= 1 TO N DO
IF B[I,J] < MIN THEN
MIN:= B[I,J];
WRITELN(MIN);
END;
Найти минимальный элемент в каждой строке и записать их в одномерный массив А
FOR I:= 1 TO N DO
BEGIN
MIN:= B[I,1];
FOR J:= 1 TO M DO
IF B[I,J] < MIN THEN
MIN:= B[I,J];
A[I]:= MIN;
END;
Найти максимальный элемент среди отрицательных элементов каждой нечетной строки
I:=1;
WHILE I <= N DO
BEGIN
MAX:= -10000;
J:= 1;
WHILE J <= M DO
BEGIN
IF (B[I,J] < 0) AND (B[I,J] > MAX) THEN
MAX:= B[I,J];
J:= J+1;
END;
I:= I+2;
END;
Построчная сортировка матрицы
FOR I:= 1 TO N D0
REPEAT
FLAG:=0;
FOR J= 1 TO M –1 DO
IF A[I,J]>A[I,J+1] THEN
BEGIN
C:= A[I,J];
A[I,J]:= A[I,J+1];
A[I,J+1]:= C;
FLAG:= 1;
END;
UNTIL FLAG=0;
Обменять местами элементы главной и побочной диагоналей
FOR I:= 1 TO N DO
BEGIN
V:= A[I,I];
A[I,I]:= A[I,N+1-I];
A[I,N+1-I]:= V;
END;
Что-то сделать над главной диагональю(диаг. не включать)
FOR I:=1 TO N-1 DO
FOR J:= I+1 TO N DO
……………….
Что-то сделать под главной диагональю(диаг. не включать)
FOR I:=2 TO N DO
FOR J:= 1 TO I-1 DO
……………….
Что-то сделать над побочной диагональю(диаг. не включать)
FOR I:=1 TO N-1 DO
FOR J:= 1 TO N-I DO
……………….
Что-то сделать под побочной диагональю(диаг. не включать)
FOR I:=2 TO N DO
FOR J:= N+2-I TO N DO
……………….
Дата добавления: 2015-07-11; просмотров: 85 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ТИПОВЫЕ АЛГОРИТМЫ | | | ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ |