Дан линейный массив из N целых чисел (N=10). Найти индексы наибольшего и наименьшего элементов массива, затем – найти сумму элементов, расположенных в массиве между ними.
начало у меня есть, а дальше я не могу разобраться.
program PROG5_2;
const
N = 10;
var
a : array [1..N] of integer;
i : integer;
imin, imax : integer;
d, c, s : integer;
begin
{Заполнение массива а случайными числами}
randomize;
for i:=1 to N do
a[i]:=random(100);
{Вывод массива а на экран}
writeln('Исходный массив: ');
for i:=1 to N do
write(a[i]:6);
writeln;
{Нахождение индексов наибольшего и наименьшего эемаентов
массива}
imin:=1; {Индекс наименьшего элемента}
imax:=1; {Индекс наибольшего элемента}
for i:=2 to N do
begin
if a[i] < a[imin] then
imin :=i;
if a[i] > a[imax] then
imax := i;
end;
{Вывод ответа}
writeln('Наименьший элемент a[',imin,']=',a[imin]);
writeln('Наибольший элемент a[',imax,']=',a[imax]);
{Подсчет количества и суммы чисел между минимальным и максимальным значениями}
c:=0; {Количество}
s:=0; {Сумма}
for i :=imin to imax do
Другие языки программирования и технологии
Pascal одномерные массивы.
program PROG5_2;
const
N = 10;
var
a : array [1..N] of integer;
i, i1, i2 : integer;
imin, imax : integer;
d, c, s : integer;
begin
{Заполнение массива а случайными числами}
randomize;
for i:=1 to N do
a[i]:=random(100);
{Вывод массива а на экран}
writeln('Исходный массив: ');
for i:=1 to N do
write(a[i]:6);
writeln;
{Нахождение индексов наибольшего и наименьшего эемаентов
массива}
imin:=1; {Индекс наименьшего элемента}
imax:=1; {Индекс наибольшего элемента}
for i:=2 to N do begin
if a[i] < a[imin] then
imin :=i;
if a[i] > a[imax] then
imax := i;
end;
{Вывод ответа}
writeln('Наименьший элемент a[',imin,']=',a[imin]);
writeln('Наибольший элемент a[',imax,']=',a[imax]);
{Подсчет количества и суммы чисел между минимальным и максимальным значениями}
c:=0; {Количество}
s:=0; {Сумма}
if imin > imax then begin
i1:=imax;
i2:=imin;
end else begin
i1:=imin;
i2:=imax;
end;
write('Cумма начиная с a[',i1,'] = ',a[i1],' до a[',i2,']=',a[i2],': ');
for i :=i1 to i2 do begin
inc(c);
inc(s,a[i]);
write(a[i],' + ');
end;
writeln(' = ',s);
writeln('Количество: ',c);
end.
const
N = 10;
var
a : array [1..N] of integer;
i, i1, i2 : integer;
imin, imax : integer;
d, c, s : integer;
begin
{Заполнение массива а случайными числами}
randomize;
for i:=1 to N do
a[i]:=random(100);
{Вывод массива а на экран}
writeln('Исходный массив: ');
for i:=1 to N do
write(a[i]:6);
writeln;
{Нахождение индексов наибольшего и наименьшего эемаентов
массива}
imin:=1; {Индекс наименьшего элемента}
imax:=1; {Индекс наибольшего элемента}
for i:=2 to N do begin
if a[i] < a[imin] then
imin :=i;
if a[i] > a[imax] then
imax := i;
end;
{Вывод ответа}
writeln('Наименьший элемент a[',imin,']=',a[imin]);
writeln('Наибольший элемент a[',imax,']=',a[imax]);
{Подсчет количества и суммы чисел между минимальным и максимальным значениями}
c:=0; {Количество}
s:=0; {Сумма}
if imin > imax then begin
i1:=imax;
i2:=imin;
end else begin
i1:=imin;
i2:=imax;
end;
write('Cумма начиная с a[',i1,'] = ',a[i1],' до a[',i2,']=',a[i2],': ');
for i :=i1 to i2 do begin
inc(c);
inc(s,a[i]);
write(a[i],' + ');
end;
writeln(' = ',s);
writeln('Количество: ',c);
end.
const
N=10;
var
a:array [1..N] of integer;
i:integer;
min, max, pmin, pmax, sum, temp:integer;
begin
randomize;
write('Массив: ');
for i:=1 to N do begin
a[i]:=random(100);
write(a[i]);
if i<>N then write(', ')
else writeln();
end;
min:=a[1];max:=a[1];
for i:=1 to N do
begin
if min>a[i] then
begin
pmin:=i;min:=a[i];
end;
if max<a[i] then
begin
pmax:=i;max:=a[i];
end;
end;
writeln('Наименьшее число: ', min);
writeln('Наибольше число: ', max);
if pmin>pmax then
begin
temp:=pmax;pmax:=pmin;pmin:=temp;
end;
for i:=pmin+1 to pmax-1 do sum:=sum+a[i];
writeln('Сумма промежутка: ', sum);
end.
N=10;
var
a:array [1..N] of integer;
i:integer;
min, max, pmin, pmax, sum, temp:integer;
begin
randomize;
write('Массив: ');
for i:=1 to N do begin
a[i]:=random(100);
write(a[i]);
if i<>N then write(', ')
else writeln();
end;
min:=a[1];max:=a[1];
for i:=1 to N do
begin
if min>a[i] then
begin
pmin:=i;min:=a[i];
end;
if max<a[i] then
begin
pmax:=i;max:=a[i];
end;
end;
writeln('Наименьшее число: ', min);
writeln('Наибольше число: ', max);
if pmin>pmax then
begin
temp:=pmax;pmax:=pmin;pmin:=temp;
end;
for i:=pmin+1 to pmax-1 do sum:=sum+a[i];
writeln('Сумма промежутка: ', sum);
end.
Похожие вопросы
- pascal одномерные массивы. дан массив А(30).
- Нужно подправить программу в Pascal на одномерные массивы.
- Сортировка одномерного массива + вставка числа в отсортированный массив PASCAL
- помогите пожалуста с одномерным массивом в Pascal
- Помогите пожалуйста решить задачи по информатике, одномерные массивы. Си шарп. Очень срочно. Пожалуйста!!!!
- Помогите с программой Одномерные массивы и указатели
- В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
- Помогите сделать лабораторную работу по теме "Одномерные массивы" [C++]
- Microsoft Visual C++ 6.0 В одномерном массиве, состоящем из n вещественных элементов, вычислить...
- Помогите с С++. Надо найти произведение элементов одномерного массива между первым и последним 0.