Помогите найти ошибки - Паскаль.
5-9 класс
|
Условие: Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Не совсем то выводит
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.
Вот программа
С использованием файлов
Другие вопросы из категории
корость увеличилась в пять раз. Какое время ей понадобилось, чтобы скачать весь файл размером 910 Мбайт. Ответ записать в часах, округлив по математическим правилам до целых чисел (без единиц измерения).
Выведите на экран пять любых натуральных чисел.
Вывести на экран четные числа из диапозона от 1 до 20.
Вывести на экран нечетные числа из диапозона от 15 до 35.
Зарание спасибо!!!!
Читайте также
Условие: Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Не совсем то выводит, и модуль может как-то через 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.
Program Ah;
uses crt;
var A:array[1..15] of integer;
i,k,n:integer;
begin
clrscr;
for i:=1 to 18 do begin
writeln('A[',i,']=');
read(A[i]);
end;
writeln('Введите число');
read(n);
k:=0;
for i:=1 to 15 do begin
if a[i]>n then
k:=k+1;
writeln('k=',k);
readkey;
end.
(В последней строке выдает "Ошибка, ожидается точка с запятой")
Необходимо удалить первый кратный 3 элемент массива.
program udalenie;
var i,n,k:integer;
a:array[1..1000] of integer;
begin
assign (input,'input.txt');
assign (output,'output.txt');
reset (input);
rewrite (output);
readln(n);
for i:=1 to n do read (a[i]);
while i<=n do
if a[i] mod 3=0 then
begin
for i:=k to n-1 do
a[i]:=a[i+1];
n:=n-1; exit;
end;
for i:=1 to n do write(a[i],' ');
close (input);
close (output);
end.