Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива






Задача 1. В соревнованиях по плаванию принимали участие 5 спортсменов. Соревнования состояли из 3 заплывов. Результаты заплывов записали в таблицу размерностью 3х5. Получить одномерный массив размером 3, элементами которого будут лучшие результаты в каждом из заплывов.

USES Crt;

VAR

RZ: ARRAY[0..3, 0..5] OF INTEGER; LR: ARRAY[0..3] OF INTEGER;

I, J: BYTE;

BEGIN

ClrScr; WriteLn;

{ Заполнение таблицы }

FOR I: =1 TO 3 DO Begin

WriteLn(' Введите результаты ', I, ' заплыва');

FOR J: =1 TO 5 DO Begin

Write(J, ' участник - '); ReadLn(RZ[I, J]);

End;

End; WriteLn;

{ Определение лучшего результата в каждом из заплывов }

FOR I: =1 TO 3 DO Begin

LR[I]: =RZ[I, 1];

FOR J: =2 TO 5 DO

IF RZ[I, J]< LR[I] THEN LR[I]: =RZ[I, J];

WriteLn(' Лучший результат ', I, ' заплыва = ', LR[I]);

End;

END.

Задача 2. Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.

USES Crt;

VAR

M: ARRAY[0..5, 0..6] OF INTEGER; MAX: ARRAY[0..6] OF INTEGER;

I, J: BYTE;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

FOR I: =1 TO 5 DO Begin

FOR J: =1 TO 6 DO Begin

M[I, J]: =Random(20)-8; Write(M[I, J]: 3);

End; WriteLn;

End; WriteLn;

{ Формирование одномерного массива}

WriteLn(' Значения элементов одномерного массива');

FOR J: =1 TO 6 DO Begin

MAX[J]: =ABS(M[1, J]);

FOR I: =2 TO 5 DO

IF ABS(M[I, J]) > MAX[J] THEN MAX[J]: =ABS(M[I, J]);

Write(MAX[J]: 3);

End;

END.

Задача 3. Дан двумерный массив размерностью NхM, заполненный случайным образом. Определить, есть ли в данном массиве строка, в которой имеется два элемента массива, имеющие наибольшее значение.

USES Crt;

CONST N=6; M=8;

VAR

A: ARRAY[0..N, 0..M] OF INTEGER;

I, J, K, FL: BYTE; MAX: INTEGER;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

FOR I: =1 TO N DO Begin

FOR J: =1 TO M DO Begin

A[I, J]: =Random(20); Write(A[I, J]: 3);

End; WriteLn;

End; WriteLn;

{ Нахождение наибольшего значения }

MAX: =A[1, 1];

FOR I: =1 TO N DO

FOR J: =1 TO M DO

IF A[I, J]> MAX THEN MAX: =A[I, J];

WriteLn(' Максимальное значение = ', MAX);

{ Нахождение строки, в которой два элемента имеют наибольшее значение }

FL: =0;

FOR I: =1 TO N DO Begin

K: =0;

FOR J: =1 TO M DO

IF A[I, J]=MAX THEN Inc(K);

IF K=2 THEN Begin WriteLn('В ', I, ' строке два элемента имеют наибольшее значение');

FL: =1;

End;

End;

IF FL=0 THEN WriteLn(' Нет строк, в которых два элемента имеют наибольшее значение');

END.

.....................................................................................................................................

Практические задания

.....................................................................................................................................

1. Дан двумерный массив размерностью 5x7, заполненный случайным образом. Найти наименьший и наибольший элементы двумерного массива, поменять их местами.

2. Дан двумерный массив размерностью NxM, заполненный случайным образом. Получить одномерный массив, элементами которого являются сумма наименьшего и наибольшего элементов соответственной строки двумерного массива.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.