logo
Учебная БИ 3 вариант

Решение задач - примеров

В качестве примера рассмотрим решение двух задач с одномерным и двухмерным массивами.

Пример 1. Создать одномерный вещественный массив из 25 элементов. Определить максимальный и минимальный элементы массива и поменять их местами. Полученный результат вывести на экран.

Текст программы на языке Turbo Pascal:

PROGRAM MAS;

VAR

M: ARRAY [1.. 25] OF REAL; { Вещественный массив }

MAX, MIN, MN: REAL;

I, K, N: INTEGER; { Вспомогательные переменные }

BEGIN

{ Ввод вещественного массива из 25 элементов }

FOR I: = 1 TO 25 DO READ ( M [I] );

{ Переменным MAX и MIN присваиваем значение первого элемента массива }

MAX: = M [1]; K: = 1;

MIN: = M [1]; N: = 1;

{ Определяем максимальный и минимальный элементы массива и их индексы}

FOR I:= 2 TO 25 DO

BEGIN

IF M [I] > MAX THEN

BEGIN

MAX: = M [I];

K: = I;

END;

IF M[I] < MIN THEN

BEGIN

MIN: = M [I];

N: = I;

END;

END;

{Меняем местами максимальный и минимальный элементы}

MN: = M [K];

M [K]: = M [N];

M [N]: = MN;

{ Вывод полученного массива на экран }

FOR I: = 1 TO 25 DO WRITELN ( M[I] );

END.

Пример 2. Создать целочисленную матрицу А 10х8. Сформировать одномерный массив В, который содержит суммы положительных элементов каждой строки матрицы А и вывести его на экран.

Текст программы на языке Turbo Pascal:

PROGRAM PRIM;

VAR

A: ARRAY [1.. 10, 1.. 8] OF INTEGER;

B: ARRAY [1.. 10] OF INTEGER;

I, J, S: INTEGER;

BEGIN

{ Ввод целочисленной матрицы А 10х8 }

FOR I:= 1 TO 10 DO

FOR J: = 1 TO 8 DO

READ ( A[ I, J] );

{ Вычисление суммы положительных элементов каждой строки матрицы А и формирование массива В }

FOR I: = 1 TO 10 DO

BEGIN

S: = 0;

FOR J: = 1 TO 8 DO

IF A [ I, J ] > 0 THEN S: = S + A [ I, J ];

B [ I ]: = S;

END;

{ Вывод сформированного массива В на экран }

FOR I: = 1 TO 10 DO WRITELN ( B [ I ] );

END.