Решение задачи №8 из главы 11

Задача №8 из главы 11

Пользователь вводит целые числа в цикле (разные: четные, нечетные, положительные, отрицательные в любом порядке и количестве). Считайте и выведите на экран значения первых трех отрицательных нечетных чисел. После чего завершите цикл.

var a,i, min: integer;
begin
writeln('vvedite celoe chislo ');
readln(a); //вводим число
while a <= i do
begin
    readln(min);
    if  (a < 0)and (a mod 2 =1)  then min:=a;
    writeln('min= ', min);
    i:=i+1; // изменяем значение счетчика
    readln();
end;
end.   
vedro-compota's picture

ввод: 2
ввод: 45
ввод: -4
-4
ввод: 5
ввод: 6
ввод: 7
ввод: -8
-8
ввод: 9
ввод: 8
ввод: -1
-1
(программа завершена)

_____________
матфак вгу и остальная классика =)

gani84's picture

var i, min: integer;
begin
i:=1;
while i <= 3 do
begin
    writeln('vvedite celoe chislo ');
    readln(min);
    if  (min < 0) AND (min mod 2= -1)  then
          writeln('Minimalnoe chislo --->', min )
    else
           i:=i+1;
end;
    readln();
end.        
vedro-compota's picture

неправильно, проверьте работу оператора if. Сейчас программа завершится после ввода даже трех четных положительных чисел

_____________
матфак вгу и остальная классика =)

gani84's picture

var i, min: integer;
begin
i:=1;

while i <= 3 do

begin

    writeln('vvedite celoe chislo ');
    readln(min);
    if (min < 0) AND  (min mod 2= -1)   then
        writeln('Minimalnoe otricatelnoe i nechetnoe chislo ', min)
    else
        if(min > 0) then begin
           writeln('vvedite celoe chislo ');
           readln(min);
           i:=i+1;
           end;
end;
    readln();
end.
vedro-compota's picture

  1. добавить распечатку консоли
  2. четыре раза вводим число 5 и программа завершится, а должна была продолжить работу.

_____________
матфак вгу и остальная классика =)

gani84's picture

консоль распечатка

vvedite celoe chislo
5
vvedite celoe chislo
3
vvedite celoe chislo
-5
Minimalnoe otricatelnoe i nechetnoe chislo -5
vvedite celoe chislo
6
vvedite celoe chislo
4
vvedite celoe chislo
-3
Minimalnoe otricatelnoe i nechetnoe chislo -3
vvedite celoe chislo
var i, min: integer;
begin
i:=1;
while i <= 3 do
begin
    writeln('vvedite celoe chislo ');
    readln(min);
    if (min < 0) AND  (min mod 2= -1) then
    begin
       i:=i+1;
       writeln('Minimalnoe otricatelnoe i nechetnoe chislo ', min)
    end;
end;
end.    
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)