Лекция 21.Поиск элементов массива с заданными свойствами. автор: Садовский Ефим Моисеевич1. Повторение. Одномерные массивы. Описание. Ввод и вывод. 2. Одномерный массив. Заполнение случайными числами. Итак, одномерный массив может вводиться с клавиатуры (тема прошлого занятия) или генерироваться случайным образом (заполняться случайными числами). Например, заполнение массива случайными числами от 1 до 50: randomize; for i:=1 to n do a[i]:=random[50]+1; Где random(50) - случайное число от 0 до 49. Тогда, если надо "задумать" случайные числа от -10 до 10: a[i]:=random(21)-10; А случайные числа от 3 до 37: a[i]:=random(35)+3; 3. Поиск элементов массива с заданными свойствами. Поиск минимального и максимального элементов массива. Для поиска элементов одномерного массива с заданными свойствами с помощью цикла For перебираются все элементы массива, внутри цикла For с помощью конструкции If (если) осуществляется отбор элементов с заданными свойствами. Например: Вычислить произведение всех отрицательных элементов массива:program p1;
var a:array[1..50] of integer;
n,i,s:integer;
begin
{Вводим массив}
write('Введите количество элементов массива: ')
readln(n);
for i:=1 to n do
begin
write('A[',i,']=');
readln(a[i]);
end;
{Вычисляем и выводим на экран произведение отрицательных элементов массива}
s:=1;
for i:=1 to n do
if a[i]<0 then
s:=s*i;
writeln('Произведение =',s);
end. Одна из типовых задач при обработке одномерных массивов – поиск минимального и максимального элементов массива (например, минимальная и максимальная температура).
pascal, pascal, pascal, array pascal Например: Вычислить максимальный элемент массива:program p2;
var a:array[1..50] of integer;
n,i,max:integer;
begin
write('Введите количество элементов массива: ')
readln(n);
for i:=1 to n do
begin
write('A[',i,']=');
readln(a[i]);
end;
max:=a[1];
for i:=2 to n do
if a[i]>max then
max:=a[i];
writeln('Максимальный элемент =',max);
end. Сначала мы полагаем, что максимальный элемент – первый (max:=a[1];) Затем каждый следующий элемент сравниваем с переменной max и записываем в нее максимальное значение. То есть на каждом шаге цикла мы имеем максимальное значение из проверенных в данный момент элементов. Минимальное значение вычисляется аналогично (только в условии знак > заменяется на <).4. Решение задач.1. Одномерный массив заполнен целыми числами. Удвойте четные и утройте нечетные элементы.2. Заполнить одномерный массив из 50 элементов случайными числами от -5 до 5. Сколько получилось отрицательных чисел?3. Заполнить одномерный массив из 10 элементов случайными числами от 1 до 100. Вычислить максимальный и минимальный элементы массива.4. Одномерный массив заполнен целыми числами. Поменять местами первый и максимальный элементы.
|