На этой странице решаются задачи Array28 - Array29 из задачника Абрамяна.
Array28. Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами:
A2, A4, A6, … .
var
A: array[1..255] of integer;
N, i, min, k: byte;
begin
writeln(' Массив какого размера вы хотите задать? ');
write(' N = ');
readln(N);
writeln(' Введите ', N, ' элементов массива(через пробел):');
write(' ');
for i := 1 to N do
read(a[i]); //Вводим элементы массива
N := N div 2; //Количество четных номеров массива.
min := a[2]; //Минимальный элемент
k := 2; //и его начальный номер.
for i := 2 to N do
if a[2 * i] < min then //Если находится элемент меньше min,
begin
min := a[2 * i]; //то он становится минимальным.
k := 2 * i //Запоминаем номер минимального элемента.
end;
write(' Минимальный элемет среди четных');
writeln(' номеров равен: a[', k, '] = ', min)
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255A **div** B
- целочисленное деление А на В Array29. Дан массив A размера N. Найти максимальный элемент из его элементов с нечетными номерами:
A1, A3, A5, … .
var
A: array[1..100] of integer;
i, N, max: integer;
begin
write(' N = ');
readln(N);
writeln('Введите ', N, ' целых чисел:');
writeln;
max := -MaxInt; //минимальное возможное целое число типа integer
{ Вводить элементы массива и находить максимальный
из них будем в одном цикле (за один проход): }
for i := 1 to N do
begin
read(a[i]); //вводим i-й элемент массива
if odd(i) then //если i - нечетный номер
if a[i] > max then max := a[i] //проверяем число на максимум
end;
writeln;
writeln('Результат: ', max)
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**function** Odd(i: integer): boolean;
: Возвращает True, если i нечетно