Примеры задач
Одномерные массивы
Пусть даны целые числа а1,…,а99. Получите новую последовательность, выбросив из исходной максимальный и минимальный член. Методика решения
Например:
возьмем последовательность:
6 25 7 1 63 49 52 71 30 6 32 45
здесь максимальный элемент равен 71, минимальный элемент равен 1, тогда получаем следующую последовательность:
6 25 7 63 49 52 30 6 32 45Используемые переменные: а, с - массивы; i,j - номера элементов массивов а и с соответственно; max - максимальный элемент; min - минимальный элемент.
В цикле формируем случайным образом элементы последовательности и выводим их на экран. Нахождение минимального элемента: присвоим min значение первого элемента, затем сравниваем его с остальными элементами массива, если найдется элемент, меньший min , то min присваиваем значение этого элемента, вывод min на экран Аналогично находим максимальный элемент и выводим его на экран; Удаление максимального и минимального элементов из массива: если значение i -го элемента массива не равено максимальному и минимальному элементам, то пересылаем его в последовательность с . Полученную последовательность с выводим на экран.
Program ex2_7; Uses crt; Var a,c:Array [1..99] Of Integer; q,j,i,max,min:Integer; Begin Clrscr; Randomize; {задание последовательности случайным образом} q:=99; For i:=1 To q Do a[i]:=1+Random(100); For i:=1 To q Do Write(a[i],' '); min:=a[1]; {нахождение минимального элемента} For i:=2 To q Do If a[i] Writeln; Writeln('min=',min); max:=a[1]; {нахождение максимального элемента} For i:=2 To q Do If a[i]>max Then max:=a[i]; Writeln; Writeln('max=',max); For i:=1 To q Do Begin { удаление максимального и минимального элементов из массива} If (a[i]<>max) And (a[i]<>min) Then Begin j:=j+1; c[j]:=a[i]; End; End; For i:=1 To j Do Write(c[i],' '); {вывод результата на экран} Readkey; End.