В одномерном массиве, состоящем из n вещественных элементов, вычислить: - Free Pascal
Формулировка задачи:
1. В одномерном массиве, состоящем из n вещественных элемен-
тов, вычислить:
1) сумму отрицательных элементов массива;
2) произведение элементов массива, расположенных между мак-
симальным и минимальным элементами.
Упорядочить элементы массива по возрастанию.
Ну это уже не для моего мозга))
Решение задачи: «В одномерном массиве, состоящем из n вещественных элементов, вычислить:»
textual
Листинг программы
uses crt;
const nmax=100;
var a:array[1..nmax] of real;
n,i,j,k,imn,imx:byte;
s,p,x:real;
begin
textbackground(0);
textcolor(15);
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив:');
s:=0;
for i:=1 to n do
begin
a[i]:=-10+30*random;
write(a[i]:5:1);
if a[i]<0 then s:=s+a[i];
end;
writeln;
writeln('Сумма отрицательных=',s:0:1);
imn:=1;
imx:=1;
for i:=1 to n do
begin
if a[i]<a[imn] then imn:=i;
if a[i]>a[imx] then imx:=i;
end;
writeln('Номер минимального=',imn,' минимальный=',a[imn]:0:1);
writeln('Номер максимального=',imx,' максимальный=',a[imx]:0:1);
if abs(imn-imx)=1 then writeln('Между минимальным и максимальным нет элементов')
else
begin
if imx<imn then
begin
k:=imn;
imn:=imx;
imx:=k;
end;
p:=1;
for i:=imn+1 to imx-1 do
p:=p*a[i];
writeln('Произведение элементов между минимальным и максимальным элементами=',p:0:1);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
writeln('Отсортированный массив');
for i:=1 to n do
write(a[i]:5:1);
readln
end.
Объяснение кода листинга программы
- Объявление переменных:
- n, i, j, k, imn, imx: byte;
- s, p, x: real;
- a: array[1..nmax] of real;
- Ввод размера массива n.
- Заполнение массива a случайными числами.
- Вывод исходного массива.
- Вычисление суммы отрицательных чисел и вывод её.
- Нахождение индексов минимального и максимального элемента массива.
- Проверка наличия элементов между минимальным и максимальным.
- Если между минимальным и максимальным нет элементов, то выводится сообщение.
- В противном случае, вычисляется произведение элементов между минимальным и максимальным.
- Сортировка массива методом пузырька.
- Вывод отсортированного массива.