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

Кабинет Информатики

Пятница, 29.03.2024, 04:42
Меню сайта
Наш опрос
В какой социальной сети Вы проводите больше времени?
Всего ответов: 357
Новости...
Конкурсы
Позитивный контент-2017

Конкурсы для педагогов: Серая цапля
Победитель Общероссийского рейтинга школьных сайтов
Знак качества Просвещения

Фонд 21 века
Рейтинг образовательных сайтов mega-talant.com
Эволюция - бесплатные конкурсы для педагогов и школьников
Фонд 21 века
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Besucherzahler
счетчик посещений
доступность сайта Среднее и дошкольное образование

Проголосуй за наш сайт
Каталог webplus.info
Форма входа

Обработка массивов

Одномерные массивы

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

Задача 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 и расположенных до максимального элемента массива.
Поиск
Календарь
«  Март 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031


Социальные сети
Официальная группа в ВК Официальная группа в ОК Официальная группа в Телеграм
Портфолио


Год семьи
Год культурного наследия народов России
Перепись населения-2021
Школьник помнит
Полезные ссылки
  • Учительский портал
  • Педсовет.ORG
  • Дневник.ру
  • ProШколу.ru
  • Pedsovet.su
  • Завуч.инфо
  • Методисты.ру
  • Методсовет
  • УчМет
  • ИнформатикУрок
  • Менеджер образования
  • Сеть творческих учителей
  • Сообщество учителей ИКТ


  • Узнай свой IP адрес
    Перечень олимпиад на 2022-2023 учебный год







    Портал о суевериях, поверьях и приметах народов России