Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Pascal) Нахождение 3 минимумов в одномерном массиве

16K
05 декабря 2007 года
Guy
33 / / 27.11.2007
Программа определит порядковые номера 3 наименьших нечетных элементов и их произведение.Я сделал, но не пойму что сделать чтобы не вылетало если не будет введено ни одного нечетного (так же если будут введены только два или один).?

Код:
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.
242
05 декабря 2007 года
Оlga
2.2K / / 04.02.2006
Guy
[COLOR="Red"]Во первых где текст задания? Потом, если вылетает, то наверно ты знаешь где именно, зачем весь код писать или хотя бы отметил бы проблемное место. Также название темы не отражает сути вопроса(задания), почитай правила раздела Студентам, а пока получаешь предупреждение. Название поменяй пожалуйста.[/COLOR]
8.8K
05 декабря 2007 года
iv0_
59 / / 19.01.2007
Код:
Код:
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.
16K
05 декабря 2007 года
Guy
33 / / 27.11.2007
Текст задания в коде. В том то и дело, что не знаю где именно. А вот название поменяю.
8.8K
05 декабря 2007 года
iv0_
59 / / 19.01.2007
Текст задания на первых же строчках кода.
Во writeLN.
Его он уж во всяком случае написал.
За это его нечего ругать.

[COLOR=Red]Когда станешь модером, будешь давать советы, а пока можно отдохнуть и расслабиться. Ок? Olga.[/COLOR]
242
05 декабря 2007 года
Оlga
2.2K / / 04.02.2006
Guy
[COLOR="Red"]Не советую спорить, когда тебе нормально объясняют, что и как надо делать. Ясно, что прочитав код, можно понять задание, только ты свое задание ленишься написать, а кто то должен по твоему коду задание улавливать. Будешь нарушать правила форума - отправлю в бан и будешь потом рассказывать кому хочешь и что хочешь. А пока получаешь нарушение.[/COLOR]
16K
05 декабря 2007 года
Guy
33 / / 27.11.2007
Простите. Я не подразумевал спор. И я наоборот думал что не стоит два раза писать одно и то же(т.е. задание)! Прошу прощения!
242
05 декабря 2007 года
Оlga
2.2K / / 04.02.2006
Guy
Ок, проехали. Главное не повторять старых ошибок :)
242
05 декабря 2007 года
Оlga
2.2K / / 04.02.2006
Ох, уважаемый, нужно исправить - это не суть твоего вопроса. суть вопроса - это суть твоего задания, например: Нахождение 3 минимумов в одномерном массиве.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог