Студопедия

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

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

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






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






Задача 1. Дан массив K, состоящий из 45 элементов. Элементы массива - произвольные целые числа. Определить минимальный элемент массива и его индекс.

USES Crt;

VAR

K: ARRAY[0..45] OF INTEGER;

I, IND: BYTE; MIN: INTEGER;

BEGIN

ClrScr; Randomize;

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

FOR I: =1 TO 45 DO Begin

K[I]: =Random(35)+6; Write(K[I]: 3);

End; WriteLn;

MIN: =K[1]; IND: =1;

{ нахождение минимального значения и его индекса }

FOR I: =2 TO 45 DO

IF K[I]< MIN THEN Begin MIN: =K[I]; IND: =I; End;

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

WriteLn(' Индекс минимального значения = ', IND);

END.

Задача 2. Дан массив B, состоящий из N элементов. Элементы массива - произвольные целые числа. Определить сумму элементов, расположенных до максимального элемента массива.

USES Crt;

CONST N=20;

VAR

B: ARRAY[0..N] OF INTEGER;

I, IND: BYTE; MAX, S: INTEGER;

BEGIN

ClrScr; Randomize;

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

FOR I: =1 TO N DO Begin

B[I]: =Random(35); Write(B[I]: 3);

End; WriteLn;

MAX: =B[1]; IND: =1;

{ нахождение максимального значения и его индекса }

FOR I: =2 TO N DO

IF B[I]> MAX THEN Begin MAX: =B[I]; IND: =I; End;

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

{ нахождение суммы элементов, расположенных до максимального элемента }

S: =0;

FOR I: =1 TO IND-1 DO

S: =S+B[I];

WriteLn(' Cумма элементов, расположенных до максимального элемента =', S);

END.

Задача 3. Дан массив A, состоящий из N элементов. Элементы массива - произвольные целые числа. Заменить нулями все элементы массива, расположенные за минимальным элементом массива. Измененный массив вывести на экран.

USES Crt;

CONST N=15;

VAR

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

I, IND: BYTE; MIN: INTEGER;

BEGIN

ClrScr; Randomize;

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

FOR I: =1 TO N DO Begin

A[I]: =Random(400); Write(A[I]: 4);

End; WriteLn;

MIN: =A[1]; IND: =1;

{ нахождение минимального значения и его индекса }

FOR I: =2 TO N DO

IF A[I]< MIN THEN Begin MIN: =A[I]; IND: =I; End;

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

{ замена нулями элементов, расположенных за минимальным значением }

FOR I: =IND+1 TO N DO

A[I]: =0;

WriteLn(' Измененный массив');

FOR I: =1 TO N DO

Write(A[I]: 4);

END.

Задача 4. Дан массив A, состоящий из N элементов. Элементы массива - произвольные целые числа. Заменить нулями все элементы массива, расположенные между минимальным и максимальным элементами массива, кроме их самих. Измененный массив вывести на экран.

USES Crt;

CONST N=15;

VAR

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

I, IMIN, IMAX, k1, k2: BYTE; MIN, MAX: INTEGER;

BEGIN

ClrScr; Randomize;

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

FOR I: =1 TO N DO Begin

A[I]: =Random(270); Write(A[I]: 4);

end; WriteLn;

MIN: =A[1]; MAX: =A[1]; IMIN: =1; IMAX: =1;

{ нахождение минимального и максимального значения и их индексов }

FOR I: =2 TO N DO Begin

IF A[I]< MIN THEN Begin MIN: =A[I]; IMIN: =I; End;

IF A[I]> MAX THEN Begin MAX: =A[I]; IMAX: =I; End;

End;

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

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

{ замена нулями элементов, расположенных между минимальным и максимальным

значением }

IF IMIN< IMAX THEN Begin K1: =IMIN+1; K2: =IMAX-1; End

ELSE Begin K1: =IMAX+1; K2: =IMIN-1; End;

FOR I: =K1 TO K2 DO

A[I]: =0;

WriteLn(' Измененный массив');

FOR I: =1 TO N DO

Write(A[I]: 4);

END.

Задача 5. Дан массив чисел. Найти наибольший элемент, поставить его первым.

USES Crt;

CONST M=100;

VAR

MAS: ARRAY[1..100] OF INTEGER;

I, K, N, NEW: INTEGER;

BEGIN

ClrScr;

Write(' Введите размер массива N= '); ReadLn(N);

{ Заполнение массива с клавиатуры }

FOR I: =1 TO N DO Begin

Write(' Введите ', I, ' элемент массива '); ReadLn(MAS[I]);

End;

NEW: =MAS[N]; K: =N;

{ Нахождение наибольшего элемента и его индекса }

FOR I: =N DOWNTO 1 DO

IF MAS[I]> NEW THEN Begin NEW: =MAS[I]; K: =I; End;

{ Перестановка местами первого и наибольшего элементов }

MAS[K]: =MAS[1]; MAS[1]: =NEW;

WriteLn(' Измененный массив');

FOR I: =1 TO N DO

Write(MAS[I]: 4);

END.

Задача 6. Известны данные о среднемесячной температуре за год. Определить, какая была самая высокая температура летом и самая низкая зимой.

USES Crt;

VAR

MAS: ARRAY[1..12] OF REAL;

I: INTEGER; MIN, MAX: REAL;

BEGIN

ClrScr;

{ Заполнение массива с клавиатуры }

FOR I: =1 TO 12 DO Begin

Write(' Введите среднюю температуру за ', I, ' месяц '); ReadLn(MAS[I]);

End;

MAX: =MAS[6]; MIN: =MAS[12];

{ Определение самой высокой температуры летом }

FOR I: =7 TO 8 DO

IF MAX< MAS[I] THEN MAX: =MAS[I];

{ Определение самой низкой температуры зимой }

FOR I: =1 TO 2 DO

IF MIN> MAS[I] THEN MIN: =MAS[I];

WriteLn(' Самая высокая температура летом ', MAX);

WriteLn(' Самая низкая температура зимой ', MIN);

END.

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

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

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

1. Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.

2. Дан массив чисел. Найти среднее арифметическое максимального и минимального элемента. Вывести значения и индексы этих элементов.

3. Дан массив чисел. Определить количество элементов, находящихся в интервале от1 до 12 и расположенных до максимального элемента массива.

 






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