Здравствуйте,даны две задачи,нужно написать программу(Паскаль).Пожалуйста распишите свои действия,ничего не понимаю.Кто понимает-объясните,пожалуйтса. 1.Найти последнее вхождение наименьшего элеманта массива. 2.Найти количество...

Здравствуйте,даны две задачи,нужно написать программу(Паскаль).Пожалуйста распишите свои действия,ничего не понимаю.Кто понимает-объясните,пожалуйтса. 1.Найти последнее вхождение наименьшего элеманта массива. 2.Найти количество элементов равных наибольшему элементу массива.
Гость
Ответ(ы) на вопрос:
Гость
1) Const    N = 33; Var    A:array[1..N] of integer;    i,m:integer; Begin {Заполнение массива} For i:= 1 to N do     Begin     A[i]:=random(21)-10;     Write(A[i],' ')     End; WriteLn; {Поиск минимального элемента} m:=1; For i:= 2 to N do     if A[i]<=A[m] then m:=i; WriteLn('Min = A[',m,'] = ',A[m]); End. Пример: 6 0 -4 10 2 -4 -3 -9 10 -5 1 0 -8 2 2 9 -3 -6 8 10 -6 -9 9 -2 -6 2 -1 -2 6 6 -2 -3 -4 Min = A[22] = -9 2) Const    N = 33; Var    A:array[1..N] of integer;    i,M,k:integer; Begin {Заполнение массива} For i:= 1 to N do     Begin     A[i]:=random(21)-10;     Write(A[i],' ')     End; WriteLn; {Поиск наибольшего элемента} M:=A[1]; For i:= 2 to N do     if A[i] > M then M:=A[i]; {Поиск кол-ва максимальных элементов} k:=0; For i:= 1 to N do     if A[i] = M then k:=k+1; WriteLn('k_Max = ',k) End. Пример: -10 3 10 -10 1 3 -9 -1 10 0 -10 3 -10 10 -4 -2 -8 3 10 -10 -9 3 -1 -2 9 -5 -6 -5 -5 -5 2 0 8 k_Max = 4
Гость
// PascalABC.NET 3.2, сборка 1411 от 23.03.2017 // Внимание! Если программа не работает, обновите версию! begin   var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;   Writeln('Последнее вхождение минимального элемента: ',a.LastIndexMin+1);   var mx:=a.Max;   Writeln('Количество элементов, равных максимальному: ',       a.Where(x->x=mx).Count) end. Пример n= 20 10 10 -10 2 -8 9 8 -8 4 -5 10 -9 9 -2 1 7 -4 9 -10 7 Последнее вхождение минимального элемента: 19 Количество элементов, равных максимальному: 3 Пояснения ArrRandom(ReadInteger('n='),-10,10); запрашиваем количество элементов n в массиве, а затем создаем целочисленный массив заполняем его случайными целыми числами на интервала [-10;10] a.Println; выводим содержимое массива а на монитор a.LastIndexMin+1 находим в массиве a позицию последнего минимального элемента. Счет позиций идет с нуля, поэтому добавляем единицу. var mx:=a.Max; находим в массиве а максимальный элемент и запоминаем его в mx a.Where(x->x=mx).Count) выбираем из массива а элементы, равные mx и подсчитываем их количество
Не нашли ответ?
Ответить на вопрос
Похожие вопросы