Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Метод_Часть_4_Массивы.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
620.54 Кб
Скачать
    1. Задачи для дополнительного решения

  1. Дан массив чисел. Вставить два максимальных значения в массив в третью позицию массива.

  2. В последовательности из 10 чисел. Вставить первый четный элемент до второй позиции.

Задача 3*. Дан массив чисел. Вставить число ноль после минимума.

  1. В массиве из n чисел вставить число m1 до первого нулевого элемента.

  2. В массиве из n чисел вставить максимальное и минимальное значение в первую позицию массива .

3. Примеры решения типовых задач с использованием двумерных массивов

3.1. Определение суммы, произведения, количества в каждой строке или столбце

Алгоритм решения

Для вычисления суммы (произведения или количества) элементов некоторой строки i необходимо организовать цикл для перебора всех элементов данной строки. Поэтому параметром этого цикла следует выбрать номер столбца j. Перед циклом необходимо задать начальное значение суммы S=0 (для произведения P=1 и для количества К=0). После окончания цикла результат присваивается новому массиву, который в дальнейшем будет содержать найденные значения сумм (произведений или количеств). Для вычисления сумм (произведений или количеств) каждой из всех строк необходимо описанные действия повторить для всех значений i, т.е. внешний цикл должен быть организован по i.

Вычисления по столбцам производится по той же схеме.

Программная реализация

для подсчета суммы элементов

для подсчета произведения элементов

в каждой строке

FOR i = 1 TO n

S = 0

FOR j = 1 TO m

S = S + A(i,j)

NEXT j

B(i) = S

NEXT i

FOR i = 1 TO n

P = 1

FOR j = 1 TO m

P = P * A(i,j)

NEXT j

B(i) = P

NEXT i

в каждом столбце

FOR j = 1 TO n

S = 0

FOR i = 1 TO m

S = S + A(i,j)

NEXT i

B(j) = S

NEXT j

FOR j = 1 TO n

P = 1

FOR i = 1 TO m

P = P * A(i,j)

NEXT i

B(j) = P

NEXT j

пример 15

Дана матрица чисел. Найти сумму положительных элементов в каждой строке матрицы.

Тест

Данные

Результат

n = 3, m = 3

Исполнение алгоритма

i

j

Проверка условия

S

Массив В

1

0

1

A(1,1)>0 (истина)

1>0

0+A(1,1)=0+1=1

2

A(1,2)>0 (истина)

2>0

A(1,1)+А(1,2)=1+2=3

3

А(1,3)>0 (ложь)

0=0

сумма остается прежней

В(1)=3

2

0

1

А(2,1)>0 (ложь)

-2<0

сумма остается прежней

2

A(2,2)>0 (истина)

5>0

0+A(2,2)=0+5=5

3

A(2,3)>0 (истина)

1>0

A(2,2)+А(2,3)=5+1=6

B(2)=6

3

0

1

А(3,1)>0 (ложь)

-1<0

сумма остается прежней

2

А(3,2)>0 (ложь)

-7<0

сумма остается прежней

3

A(3,3)>0 (истина)

4>0

0+A(3,3)=0+4=4

B(3)=4

Блок-схема алгоритма

Начало

Ввод n,m

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

i=1,n

S=0

j=1,m

+ Aij>0 -

S=S+Aij

Bi=S

Вывод

массива В

Конец

программа

CLS

INPUT "введи размер матрицы " ; n, m

DIM A(n, m)

PRINT "введи матрицу"

'Цикл по строкам матрицы

FOR i = 1 TO n

'Цикл по столбцам матрицы

FOR j = 1 TO m

'Ввод элементов массива

INPUT A(i,j)

NEXT j, i

FOR i = 1 TO n

'Присваивание начального значения суммы

S = 0

FOR j = 1 TO m

'Суммирование положительных элементов строки

IF A(i, j) > 0 THEN S = S + A(i, j)

NEXT j

B(i) = S

NEXT i

FOR i = 1 TO n

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

NEXT i

END

пример 16

Дана матрица чисел. Найти номер столбца, где все элементы четные.

Программа

CLS

INPUT "введи размер матрицы " ; n, m

DIM A(n, m), В(m)

PRINT "введи матрицу"

FOR j = 1 TO m

FOR i = 1 TO n

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

INPUT A(i,j)

NEXT i, j

FOR j = 1 TO m

'Задание начального значения счетчика четных элементов в каждом столбце матрицы

K = 0

FOR i = 1 TO n

'Определение количества четных элементов

IF A(i, j) MOD 2 = 0 THEN K = K + 1

NEXT i

'Создание массива, состоящего из количества четных элементов

B(j) = K

NEXT j

FOR j = 1 TO m

'Определение номера столбца, где все элементы четные

IF B(j) = n THEN

PRINT "В " ; j; " столбце все элементы четные"

END IF

NEXT j

END