Примеры задач

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


1. Задание: пусть даны вещественные числа А(1), …, А(25). Требуеться умножить все члены последовательности А(1), …, А(25) на квадрат её наименьшего члена, если А(i) > = 0, и на квадрат её наибольшего члена, если A(i) < 0.

Методика решения

Например:
A=[-1,5; 3,8; 0,0; -2,5]. Наименьший член: -2,5; Наибольший член: 3,8.
A’=[-21,66; 23,75; 0,0; -36,1].

Например:
A – массив вещественных чисел;
I – переменная, для задавания циклов;
Max, min – переменные, содержащие значения наибольшего и наименьшего элемента последовательности соответственно.

В цикле считываем с экрана элементы последовательности и выводим получившуюся последовательность на экран.
Нахождение минимального элемента: присвоим min значение первого элемента, затем сравниваем его с остальными элементами массива, если найдется элемент, меньший min , то min присваиваем значение этого элемента, вывод min на экран
Аналогично находим максимальный элемент и выводим его на экран;
Далее, по условию, необходимо умножить все члены последовательности на квадрат её наименьшего члена, если А(i) > = 0 , и на квадрат её наибольшего члена, если A(i) < 0 .
Для этого в цикле перебираем все элементы последовательности и проверяем условие: если А[i] > = 0 , то A[i]:=A[i]*(min*min) ; в противном случае – A[i]:=A[i]*(max*max) .
Выводим полученную последовательность на экран.

Листинг программы

Program ex2_8;
Uses crt;
Var
a:Array[1..25] of real;
max,min:real; i:integer;
BEGIN
clrscr;
WriteLn('введите цифры');
For i:=1 to 25 do
Read(a[i]);
writeln;
For i:=1 to 25 do
write(a[i]:4);
writeln;
min:=a[1];
For i:=2 to 25 do
if a[i] max:=a[1];
For i:=2 to 25 do
if a[i]>max then max:=a[i];
for i:=1 to 25 do
if a[i]>=0 then a[i]:=a[i]*(min*min) else a[i]:=a[i]*(max*max);
For i:=1 to 25 do
write(a[i]:4);
writeln;
readkey;
END.

Запустить программу






Назад