Вводится целое положительное число. Найти наименьшую нечетную цифру в числе. Если в числе нет нечетных цифр, то вывести надпись "В числе нет нечетных цифр"

Ответы

Ответ дал: mnv1962
0
var
a,k,m,min,i,flag:integer;
    begin
            readln(a);
            m:=a; {сохраняю введенное значение и считаю кол-во цифр в числе}
              while m >0 do     
                  begin         
                          m:=m div 10;         
                          k:=k+1;     
                  end;     
min:=9; {записываю самое большое нечетное число}
{в цикле отсекаю последнюю цифру в числе и проверяю ее на нечетность. Если она нечетная и меньше числа min, то сохраняю ее в min и присваиваю переменной Flag 1. Если к концу программы в переменной flag  будет 1, значит хотя бы одна нечетная цифра в числе была, если flag=0 тогда в числе нет нечетных}
            for i:=1 to k do   
                      begin       
                             if   (a mod 10<=min)and(a mod 2<>0) then           
                                begin             
                                     min:=a mod 10;             
                                     flag:=1;           
                                end;       
                          a:=a div 10;   
                     end;         
      if flag=0 then           
                writeln('нет нечетных')         
      else             
                writeln(min);
end.
Ответ дал: Аноним
0
Все можно решить гораздо проще.
Ответ дал: Аноним
0
Приношу извинения, строка с char не нужна.
Вас заинтересует