program jadai;
uses crt;
type index=1..100;
mas=array[index] of integer;
var a:mas;
p,i,min1,min2,min3,n,p1,p2,p3:integer;
begin
clrscr;
writeln('Программа определит порядковые номера 3 наименьших ');
writeln('нечетных элементов и их произведение');
repeat
writeln('введите количество элементов массива от 6 до 100= ');
read(n);
until (n>=6) and (n<=100);
writeln('введите элементы массива');
repeat
i:=i+1;
write(i,'элемент=');
read(a);
until (a=0) or (i=n);
n:=i;
i:=1;
min1:=maxint;
min2:=maxint;
min3:=maxint;
repeat
if (a mod 2<>0) and (a<min1) then begin
min1:=a;
p1:=i;
end;
i:=i+1;
until i>n;
i:=1;
repeat
if (a mod 2<>0) then
if (a<min2) and (i<>p1) then begin
min2:=a;
p2:=i;
end;
i:=i+1;
until i>n;
i:=1;
repeat
if (a mod 2<>0) then
if (a<min3) and (i<>p1) and (i<>p2) then begin
min3:=a;
p3:=i;
end;
i:=i+1;
until i>n;
p:=min1*min2*min3;
writeln('порядковый номер 1-го min ',p1);
writeln('порядковый номер 2-го min ',p2);
writeln('порядковый номер 3-го min ',p3);
writeln('произведение минимальных элементов',p:4);
readkey;
end.
(Pascal) Нахождение 3 минимумов в одномерном массиве
Программа определит порядковые номера 3 наименьших нечетных элементов и их произведение.Я сделал, но не пойму что сделать чтобы не вылетало если не будет введено ни одного нечетного (так же если будут введены только два или один).?
[COLOR="Red"]Во первых где текст задания? Потом, если вылетает, то наверно ты знаешь где именно, зачем весь код писать или хотя бы отметил бы проблемное место. Также название темы не отражает сути вопроса(задания), почитай правила раздела Студентам, а пока получаешь предупреждение. Название поменяй пожалуйста.[/COLOR]
Код:
Код:
program jadai;
uses crt;
type index=1..102;
mas=array[index] of integer;
var a:mas;
p,i,min1,min2,min3,n,p1,p2,p3:integer;
metka:integer;
begin
clrscr;
writeln('Программа определит порядковые номера 3 наименьших ');
writeln('нечетных элементов и их произведение');
repeat
writeln('введите количество элементов массива от 6 до 100= ');
read(n);
until (n>=6) and (n<=100);
writeln('введите элементы массива');
repeat
i:=i+1;
write(i,'элемент=');
read(a);
until (a=0) or (i=n);
n:=i;
i:=1;
min1:=maxint;
min2:=maxint;
min3:=maxint;
repeat
if (a mod 2<>0) and (a<min1) then begin
min1:=a;
p1:=i;
end;
i:=i+1;
if (a mod 2<>0) then
if (a<min2) and (i<>p1) then begin
min2:=a;
p2:=i;
end;
i:=i+1;
if (a mod 2<>0) then
if (a<min3) and (i<>p1) and (i<>p2) then begin
min3:=a;
p3:=i;
end;
i:=i+1;
until i>n;
if (p1<>0)AND(p2<>0)AND(p3<>0)then
begin
p:=min1*min2*min3;
writeln('порядковый номер 1-го min ',p1);
writeln('порядковый номер 2-го min ',p2);
writeln('порядковый номер 3-го min ',p3);
writeln('произведение минимальных элементов',p:4);
end;
if (p1=0)OR(p2=0)OR(p3=0)then
begin
writeLN('Net takix chisel');
end;
readkey;
end.
END.
program jadai;
uses crt;
type index=1..102;
mas=array[index] of integer;
var a:mas;
p,i,min1,min2,min3,n,p1,p2,p3:integer;
metka:integer;
begin
clrscr;
writeln('Программа определит порядковые номера 3 наименьших ');
writeln('нечетных элементов и их произведение');
repeat
writeln('введите количество элементов массива от 6 до 100= ');
read(n);
until (n>=6) and (n<=100);
writeln('введите элементы массива');
repeat
i:=i+1;
write(i,'элемент=');
read(a);
until (a=0) or (i=n);
n:=i;
i:=1;
min1:=maxint;
min2:=maxint;
min3:=maxint;
repeat
if (a mod 2<>0) and (a<min1) then begin
min1:=a;
p1:=i;
end;
i:=i+1;
if (a mod 2<>0) then
if (a<min2) and (i<>p1) then begin
min2:=a;
p2:=i;
end;
i:=i+1;
if (a mod 2<>0) then
if (a<min3) and (i<>p1) and (i<>p2) then begin
min3:=a;
p3:=i;
end;
i:=i+1;
until i>n;
if (p1<>0)AND(p2<>0)AND(p3<>0)then
begin
p:=min1*min2*min3;
writeln('порядковый номер 1-го min ',p1);
writeln('порядковый номер 2-го min ',p2);
writeln('порядковый номер 3-го min ',p3);
writeln('произведение минимальных элементов',p:4);
end;
if (p1=0)OR(p2=0)OR(p3=0)then
begin
writeLN('Net takix chisel');
end;
readkey;
end.
END.
Текст задания в коде. В том то и дело, что не знаю где именно. А вот название поменяю.
Во writeLN.
Его он уж во всяком случае написал.
За это его нечего ругать.
[COLOR=Red]Когда станешь модером, будешь давать советы, а пока можно отдохнуть и расслабиться. Ок? Olga.[/COLOR]
[COLOR="Red"]Не советую спорить, когда тебе нормально объясняют, что и как надо делать. Ясно, что прочитав код, можно понять задание, только ты свое задание ленишься написать, а кто то должен по твоему коду задание улавливать. Будешь нарушать правила форума - отправлю в бан и будешь потом рассказывать кому хочешь и что хочешь. А пока получаешь нарушение.[/COLOR]
Простите. Я не подразумевал спор. И я наоборот думал что не стоит два раза писать одно и то же(т.е. задание)! Прошу прощения!
Ок, проехали. Главное не повторять старых ошибок :)
Ох, уважаемый, нужно исправить - это не суть твоего вопроса. суть вопроса - это суть твоего задания, например: Нахождение 3 минимумов в одномерном массиве.