Статистика
Всего в нашей базе более 4 327 660 вопросов и 6 445 973 ответов!

Исправьте ошибки. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами (Паскаль)

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, если между максимальным и минимальным по модулю элементом нет других элементов.

Dect1998 16 июня 2015 г., 20:00:26 (8 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Mirownizenko
16 июня 2015 г., 22:33:14 (8 лет назад)

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.

+ 0 -
Artm1x
17 июня 2015 г., 1:28:09 (8 лет назад)

ЧТо должно выводиться по условию в output ?

+ 0 -
Zahar51312
17 июня 2015 г., 3:30:04 (8 лет назад)

Выведите в выходной файл искомое произведение с 3 знаками после десятичной точки или 0 , если между максимальным и минимальным по модулю элементом нет других элементов.

+ 0 -
Darkyork
17 июня 2015 г., 4:06:18 (8 лет назад)

в чем ошибка,в том что 0 не выводится,или что?

+ 0 -
Ermakovadiana1
17 июня 2015 г., 6:23:26 (8 лет назад)

да

+ 0 -
Lizochkamiller
17 июня 2015 г., 8:38:07 (8 лет назад)

если ввести во входной файл 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 Кбайт
Всем кто помог огромное спасибо!!!

Перечислите три способа

(носителя информации), с помощью которых пакеты/информация может передаваться?

Помогите решить задачу на программирование! Там есть решение, но в нём ошибка (предположительно в 3 блоке). Надо чтобы Ам-Ням дошёл до леденца, но на

последнем повороте он поворачивает не направо, а налево. Можно использовать максимум 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.

1) Удвоить все элементы массива. 2)Найти сумму элементов двух массивов одинаковой размерности. 4) Найти Минимальные элементы массива и

его индекс.

5) Найти максимальные элементы среди положительных элементов массива 6) Найти максимальные элементы среди отрицательных элементов массива

7) Определить количество максимальных элементов массива

P.S Ребят, все в паскале...заранее спасибо=*

Дан целочисленный массив из 7 элементов: 1) подсчитать произведение элементов массива кратных 5 и кратных 3. 2)подсчитать среднее значение четных

элементов массива. 3) найти минимальное значение среди элементов массива <25 и положительных и номера,соответствующего элемента.

Напишите программу формирования и вывода массива размером 6*3, каждые три последовательных элемента в строке которого составлены по следующему правилу:

1-й равен 500
2-й равен целой части квадратного корня из предыдущего элемента
3-й равен целой части от деления суммы индексов текущего элемента на 3 ( если она равна 0, то соответствующий элемент массива делать равным 1).
в Pascal



Вы находитесь на странице вопроса "Исправьте ошибки. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами (Паскаль)", категории "информатика". Данный вопрос относится к разделу "5-9" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.