Исправьте ошибки. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами (Паскаль)
5-9 класс
|
var
i,n,i1,i2:longint;
a:array[1..100] of real;
amin,amax,p:real;
begin
assign (input,'input.txt');
assign (output,'output.txt');
reset (input);
rewrite (output);
readln(n);
p:=1;
for i:=1 to n do read (a[i]);
amin:=a[1];
for i:=1 to n do
if abs(amin)>=abs(a[i]) then
begin
amin:=a[i];
i1:=i;
end;
amax:=a[1];
for i:=1 to n do
if abs(amax)<=abs(a[i]) then
begin
amax:=a[i];
i2:=i;
end;
if (i2>i1) and (i1+1<>i2) then
for i:=i1+1 to i2-1 do
p:=p*a[i] else
if (i1>i2) and (i1-1<>i2) then
for i:=i1-1 downto i2+1 do
p:=p*a[i] else
begin
write('0');
end;
write (abs(p):0:3);
close (input);
close (output);
end.
в ответе в выходном файле необходимо вывести 0.000, если между максимальным и минимальным по модулю элементом нет других элементов.
var i, n: longint;
a: array[1..10] of real;
amin, amax, p: real;
begin
assign(output, 'output.txt');
rewrite(output);
readln(n);
if n = 2 then
begin
writeln('0 ');
close(output);
end
else
begin
p := 1;
for i := 1 to n do
read(a[i]);
amin := a[1];
for i := 1 to n do
if amin >= abs(a[i]) then
amin := a[i];
amax := a[1];
for i := 1 to n do
begin
if amax <= a[i] then
amax := a[i];
end;
if n > 2 then
for i := 2 to n - 1 do
p := p * a[i];
write(p:0:3);
close(output);
end;
end.
ЧТо должно выводиться по условию в output ?
Выведите в выходной файл искомое произведение с 3 знаками после десятичной точки или 0 , если между максимальным и минимальным по модулю элементом нет других элементов.
в чем ошибка,в том что 0 не выводится,или что?
если ввести во входной файл 5.2 и -8.5, то в выходном файле выводится 01.000, а должно быть 0.000
Другие вопросы из категории
Надежда на вас 3 задачи срочно надо решить!!!
1. Маша нашла дискету, на которой было закодированное текстовое сообщение. Объем этого текста составляет 104 Кбита и состоял из 8192 символов. Помогите Маше определить количество символов в алфавите, которым было написано сообщение.
а)2048
б)4096
в) 8192
г)16384
2. Словарный запас племени Фунтики составляет 64 слова одинаковой длины. Каждая буква алфавита несет 3 бита информации. Какова длинна слова этого племени?
а)2
б)3
в)4
г)5
3. Книга, набранная с помощью компьютера, содержит 160 страниц; на каждой странице 32 строки, в каждой строке - 44 символа. Каков объем информации в книге?
а) 3,25 Кбайта
б) 220 Кбайт
в) 0,3 Мбайт
г) 300 Кбайт
Всем кто помог огромное спасибо!!!
(носителя информации), с помощью которых пакеты/информация может передаваться?
последнем повороте он поворачивает не направо, а налево. Можно использовать максимум 10 блоков!
Читайте также
Условие: Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Не совсем то выводит, и модуль может как-то через abs надо.
program proizvedenie;
var q,z,w,i,n,i1,i2:integer;
a:array[1..1000] of real;
amin,amax,pr:real;
begin
assign (input,'input.txt');
assign (output,'output.txt');
reset (input);
rewrite (output);
readln(n);
for i:=1 to n do read (a[i]);
amin:=a[1];
for i:=1 to n do
begin
if a[i]<amin then
begin
amin:=a[i];
i1:=i;
end;
end;
amax:=a[1];
for i:=1 to n do
begin
if a[i] > amax then
amax:=a[i];
i2:=i;
end;
if i2>i1 then begin
q:=i1;
w:=i2;
end
else begin
q:=i2;
w:=i1;
end;
if (w-q)>1 then begin
pr:=1;
for z:=q to w do
pr:=pr*a[z];
end
else write (0);
close (input);
close (output);
end.
его индекс.
5) Найти максимальные элементы среди положительных элементов массива 6) Найти максимальные элементы среди отрицательных элементов массива
7) Определить количество максимальных элементов массива
P.S Ребят, все в паскале...заранее спасибо=*
элементов массива. 3) найти минимальное значение среди элементов массива <25 и положительных и номера,соответствующего элемента.
индексами), не включая эти элементы. СРОЧНОООО!!!!!!!!!!!!!!!
1-й равен 500
2-й равен целой части квадратного корня из предыдущего элемента
3-й равен целой части от деления суммы индексов текущего элемента на 3 ( если она равна 0, то соответствующий элемент массива делать равным 1).
в Pascal