Изучаем язык BASIC. Занятие 19. Задачи на нахождение суммы элементов строк или столбцов

Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат doc
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Занятие 19

Задачи на сумму элементов строк или столбцов

1. Задана матрица A(N,N) в диапазоне [-14,25]. Найти сумму элементов каждой строки.

CLS

RANDOMIZE TIMER

INPUT "N=";N

DIM A(N,N), S(N)

FOR I=1 TO N

FOR J=1 TO N

A(I,J)=INT(RDN*39-14)

PRINT USING "####"; A(I,J);

NEXT J

PRINT

NEXT I

FOR I=1 TO N

S(I)=0

FOR J=1 TO N

S(I)=S(I)+A(I,J)

NEXT J

PRINT "Сумма элементов строки";S(I)

NEXT I

2. Задана матрица A(N,N) в диапазоне [-14,25]. Найти сумму элементов каждого столбца.

Ввод матрицы

FOR J=1 TO N

S(J)=0

FOR I=1 TO N

S(J)=S(J)+A(I,J)

NEXT I

PRINT "Сумма элементов столбца";S(J)

NEXT J

3. Задана матрица A(N,N) в диапазоне [-14,25]. Найти сумму положительных элементов каждой строки.

Ввод массива

FOR I=1 TO N

S(I)=0

FOR J=1 TO N

IF A(I,J)>0 THEN S(I)=S(I)+A(I,J)

NEXT J

PRINT "Сумма положительных элементов строки";S(I)

NEXT I

4. Задана матрица A(N,N) в диапазоне [-14,25]. Найти сумму элементов каждой строки и среди них найти min.

I способ

Ввод массива

Min=1000

FOR I=1 TO N

S(I)=0

FOR J=1 TO N

S(I)=S(I)+A(I,J)

NEXT J

? S(I);

IF S(I)

NEXT I

PRINT

PRINT "min="; min

II способ

Ввод массива

FOR I=1 TO N

S(I)=0

FOR J=1 TO N

S(I)=S(I)+A(I,J)

NEXT J

? S(I);

NEXT I

Min=1000

FOR I=1 TO N

IF S(I)

NEXT I

PRINT

PRINT "min="; min

5. Задана матрица A(N,N) в диапазоне [-10,20]. Найти сумму элементов каждом столбце и среди них найти mах.

Ввод массива

Max=-1000

FOR J=1 TO N

S(J)=0

FOR I=1 TO N

S(J)=S(J)+A(I,J)

NEXT I

? S(J);

IF S(J)>max THEN max = S(J)

NEXT I

PRINT

PRINT "max="; max

5. Задана матрица A(N,N) в диапазоне [-30,20]. Поменять местами строки массива с min и mах суммой положительных элементов.

Ввод массива

min=1000 max=-1000

FOR I=1 TO N

S(I)=0

FOR J=1 TO N

IF A(I,J)>0 THEN S(I)=S(I)+A(I,J)

NEXT J

? S(I);

IF S(I)

IF S(I)>max THEN max = S(I) : Imax=I

NEXT I

FOR I=1 TO N

SWAP A(Imin, I),A(Imax, I)

NEXT I

PRINT

Вывод массива

Домашнее задание

Задана матрица A(N,N) в диапазоне [-36,21]. Поменять местами столбцы массива с min и mах суммой модулей элементов.

S(I)=S(I)+ABS(A(I,J))

Задана матрица A(N,N) в диапазоне [-16,31]. Напечатать элементы главной диагонали и сумму всех строк элементов, за исключением самого элемента главной диагонали. IF I<>J THEN S(I)=S(I)+A(I,J)

Задана матрица A(N,N) в диапазоне [-26,11]. Напечатать элементы побочной диагонали и сумму всех строк элементов, за исключением самого элемента побочной диагонали. IF I+J<>N+1 THEN S(I)=S(I)+A(I,J)


© 2010-2022