М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
FACE091
FACE091
01.10.2020 05:20 •  Информатика

Дан одномерный массив. Используя подпрограмму найти разность между максимальным и минимальным элементами массива(язык с++)

👇
Открыть все ответы
Ответ:
milashka455
milashka455
01.10.2020
Вот программа
С использованием файлов
program proizvedenie;
uses crt;
var a:array[1..1000] of real;   
amax,amin,p:real;   
i,n,i1,i2:integer;    inp,outp:text;
begin
assign(inp,'input.txt');
assign(outp,'output.txt');
readln(n);
p:=1;
reset(inp);
for i:=1 to n do
read(inp,a[i]);
close(inp);
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); exit; end;
rewrite(outp);
write(outp,p);
close(outp);
end.
Без файлов
program proizvedenie;
uses crt;
var a:array[1..1000] of real;   
 amax,amin,p:real;   
i,n,i1,i2:integer;
begin
p:=1;
readln(n);
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); exit; end;
write(p);
end.

Ошибки:
1)В разделе описания переменных var нет файловых переменных input и output;
2)В строке 24 нет begin...end;
3)Сравнивать нужно модули переменных amin и amax с модулем a[i];
+++Много лишних переменных
4,4(60 оценок)
Ответ:
милка308
милка308
01.10.2020
Снежинка типа

uses graphabc;
var a:array[1..5] of record x,y,x0,y0,g:real; end; i,c:integer;
begin
setwindowsize(800,600);
setpenwidth(2);
a[1].x:=400+150*cos(a[1].g/180*pi);
a[1].y:=300+150*sin(a[1].g/180*pi);
a[1].x0:=a[1].x;
a[1].y0:=a[1].y;
a[1].g:=a[1].g+1-(trunc(a[1].g) div 360)*360;
for i:=2 to 5 do begin
a[i].x:=a[i-1].x+150*power(0.65,i)*cos(a[i].g/180*pi);
a[i].y:=a[i-1].y+150*power(0.65,i)*sin(a[i].g/180*pi);
a[i].x0:=a[i].x;
a[i].y0:=a[i].y;
a[i].g:=a[i].g+power(10,i-1)-(trunc(a[i].g) div 360)*360;
end;
for c:=1 to 360 do
begin
a[1].x:=400+150*cos(a[1].g/180*pi);
a[1].y:=300+150*sin(a[1].g/180*pi);
line(round(a[1].x0),round(a[1].y0),round(a[1].x),round(a[1].y));
a[1].x0:=a[1].x;
a[1].y0:=a[1].y;
a[1].g:=a[1].g+1-(trunc(a[1].g) div 360)*360;
for i:=2 to 5 do begin
a[i].x:=a[i-1].x+150*power(0.65,i)*cos(a[i].g/180*pi);
a[i].y:=a[i-1].y+150*power(0.65,i)*sin(a[i].g/180*pi);
line(round(a[i].x0),round(a[i].y0),round(a[i].x),round(a[i].y));
a[i].x0:=a[i].x;
a[i].y0:=a[i].y;
a[i].g:=a[i].g+power(10,i-1)-(trunc(a[i].g) div 360)*360;
end;
end;
end.
4,5(91 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ