profile
Размещено 4 года назад по предмету Информатика от vlu96

Подсчитать количество чётных цифр, неравных 6 в введённом числе с помощью массива в паскале ( Пример 1213 - кол-во цифр =1) срочноо пожалуйста

  1. Ответ на вопрос
    Ответ на вопрос дан alexprogrammer

    Ответ:

    Программа без использования массива, так как смысла его использовать нет.

    var x,rem,cnt:integer;

    begin

     readln(x);

     cnt:= 0;

     while x > 0 do

     begin

       rem:= x mod 10;

       if (rem mod 2 = 0) and (rem <> 6) then

           inc(cnt);

       x:= x div 10

     end;

     writeln (cnt);

    end.

    1. Ответ на вопрос
      Ответ на вопрос дан pinguinbird
      Очень элегантно, только 0 тоже чётное число. Поэтому если ввести 0, то программа выдаст неверное значение. Поэтому предлагаю ветвление:
    2. Ответ на вопрос
      Ответ на вопрос дан pinguinbird
      var x,rem,cnt:integer;
      begin
      readln(x);
      cnt:= 0;
      if x <> 0 then
      while x > 0 do
      begin
      rem:= x mod 10;
      if (rem mod 2 = 0) and (rem <> 6) then
      inc(cnt);
      x:= x div 10
      end;
      else cnt := 1;
      writeln (cnt);
      end.
    3. Ответ на вопрос
      Ответ на вопрос дан pinguinbird
      Да, и для x лучше лонгинт использовать:
      var x:longint;
      var rem,cnt:integer;
      begin
      readln(x);
      cnt:= 0;
      if x <> 0 then
      while x > 0 do
      begin
      rem:= x mod 10;
      if (rem mod 2 = 0) and (rem <> 6) then
      inc(cnt);
      x:= x div 10
      end
      else cnt := 1;
      writeln (cnt);
      end.
    4. Ответ на вопрос
      Ответ на вопрос дан pinguinbird
      Но вообще мне Ваш подход очень понравился
    5. Ответ на вопрос
      Ответ на вопрос дан pinguinbird
      намного лучше моего
  2. Ответ на вопрос
    Ответ на вопрос дан pinguinbird

    Ответ:

    program HomeWork;

     var c,i,si:integer;

     var ss:longint;

     var s:string;

    begin

     c:=0;

     write('Введите число: '); readln(ss);

     str(ss,s);

     for i:=1 to length(s) do

       begin

         val(s[i],si);

         if (si mod 2 = 0) and (si <> 6) then c:=c+1;

       end;

     writeln('Количество чётных цифр в ведённом числе (исключая цифру 6): ', c);

    end.

    1. Ответ на вопрос
      Ответ на вопрос дан vlu96
      прога не запускается, ошибка в val c параметрами указанных типов
    2. Ответ на вопрос
      Ответ на вопрос дан pinguinbird
      странно, у меня компилится...я там строковый символ в интеджер перевожу
    3. Ответ на вопрос
      Ответ на вопрос дан pinguinbird
      но вот ответ от AlexProgrammer прям чёткий, я там неболшие комменты добавил, но у него алгоритм намного лучше
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.