Вод/вывод елементов матрицы

Ввод элементов матрицы: DIMENSION A(20,20)

DIMENSION A(20,20) ЛИБО READ *, M, N

READ (5, *) M, N DO 11 I=1, M

READ (5, *) ((A (I, J), J = 1, N), I =1, M) READ *, (А(I,J), J=1, N)

11 CONTINUE

Здесь должно выполняться условие М ≤ 20, и N≤ 20. Кроме вложенного неявного цикла, возможен ввод с использованием явного оператора цикла.

Вывод элементов матрицы:

PRINT*, ((A (I, J), J = 1, N), I =1, M)

* Либо с автоматическим созданием файла на диске для вывода данных:

WRITE (7,1) ((A (I, J), J = 1, N), I =1, M)

1 FORMAT (5X, 4F10.3)

Вложенные циклы

Оператор цикла может содержать в себе другие операторы цикла: вложенные (или внутренние). В таком случае области вложенных операторов циклов должны полностью покрываться внешним циклом. Управляющие переменные операторов внутренних циклов должны быть различными, а их области не должны перекрывать друг друга. Эти положения можно изобразить схематично (рис.8):

Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru DO 100 I = 1, 20,2 DO 80 I=2, 20, 2 DO 80 I=1,10

……………………. …………………… ………………

Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru ……………………. DO 95 J = 1,7 ………………

Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru DO 90 K = 1, 5 …………………… DO 60 J=1,25

Вод/вывод елементов матрицы - student2.ru ……………………. 95 CONTINUE ………………

Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru 90 ONTINUE …………………… 50 CONTINUE

Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru …………………… DO 80 K = I, N ………………

Вод/вывод елементов матрицы - student2.ru …………………… …………………… 60 CONTINUE

Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru 100 CONTINUE 80 CONTINUE

Правильная организация циклов Неправильная–циклы перекрываются.

Рис. 8

Конечный оператор цикла не может быть оператором: перехода, цикла, условным оператором, возврата, паузы и останова. Если цикл, по условию задачи, должен быть закончен одним из “запрещенных ” операторов, то в качестве конечного оператора цикла рекомендуется использовать оператор продолжения CONTINUE, разместив его после “запрещенного” оператора.

Пример: вычислить сумму элементов каждого столбца прямоугольной матрицы. Суммы разметить в массиве S.

В программе необходимо оператором DIMENSION зарезервировать место в памяти ЭВМ для массивов А и S, т.е. двумерный массив А(50, 40)и одномерный массив S(40). Тогда программа может иметь следующий вид:

PROGRAM SUMSTO

DIMENSION A (50,40), S (40)

PRINT*, ‘Введите количество строк N и столбцов К в массиве А’

READ (5, *) N, K

PRINT*, ‘Введите элементы массива А по строкам ’

READ (5, *) ((A (I, J), J=1,K), I=1,N)

PRINT*, ((A(I,J), J=1,K), I=1,N)

* PRINT 50, ((A(I,J), J=1,K), I=1,N)

* 50 FORMAT(2X, ' ИСХОДНАЯ МАТРИЦА A ' , / (2X,3F6.1))

J K I     N    
DO 15 I = 1, K

Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru Вод/вывод елементов матрицы - student2.ru SUM = 0.

Вод/вывод елементов матрицы - student2.ru DO 10 J=1, N

SUM =SUM + A (J, I)

10 CONTINUE

S (I) =SUM

15 CONTINUE

PRINT *, ‘ СУММЫ ЭЛЕМЕНТОВ СТОЛБЦОВ’

PRINT*,‘ S (I)= ’, (S(I), I=1,K)

END

В этой программе ввод элементов матрицы осуществляется по строкам, оператором ввода: READ(5, *) ((A (I, J), J=1,K), I=1,N) (неявный цикл). Затем занулением создается ячейка SUM, для суммирования элементов каждого столбца, что выполняется вложенным циклом DO. Сумма элементов каждого столбца заносится в массив S, в результате работы внешнего цикла DO. Когда все столбцы просуммированы и занесены в массив S, он (его содержимое) выводится на печать.

Задания к лабораторной работе № 4

Вариант № 1

Составить программу выборки минимального элемента из массива А (М, N). Использовать форматный вывод. ( М, N ≤ 20.)

Вариант № 2

Составить программу выборки максимального элемента из массива А (М, N).

Использовать форматный вывод. ( М, N ≤ 20.)

Вариант № 3

Составить программу вычисления суммы отрицательных элементов из массива А (М, N). Использовать форматный вывод. ( М, N ≤ 20.)

Вариант № 4

Составить программу вычисления суммы положительных элементов из массива А(М,N). Использовать форматный вывод. (М, N ≤ 20.)

Вариант № 5

Составить программу вычисления количества положительных элементов в массиве А (М, N). Результат распечатать. (М, N ≤ 20.)

Вариант № 6

Составить программу вычисления количества отрицательных элементов в массиве А (М, N). Использовать форматный вывод. ( М, N ≤ 20.)

Наши рекомендации