Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2011, 16:47   #1
Renge
Пользователь
 
Аватар для Renge
 
Регистрация: 07.12.2010
Сообщений: 35
По умолчанию Задача на Repeat и Div и Mod

PHP код:
 {С экрана вводится натчисло.
 
Найти количество четных чиселсодержащихся в его записи.
 
Опеределить номер (считая справа налевокаждой из них.
 
Вывести на экран эти цифрыномера и количество четных цифр.}

 
Program K6_2;
 
Uses CRT;
 VAR
   
a,n,no,kol Longint;
 
BEGIN
   kol
:=0;
   
Repeat
     ClrScr
;
     
Writeln('С экрана вводится нат. число.');
     
Writeln('Найти количество четных чисел, содержащихся в его записи.');
     
Writeln('Опеределить номер (считая справа налево) каждой из них.');
     
Writeln('Вывести на экран эти цифры, номера и количество четных цифр.');
     
Writeln('');
     
Write('Введи натуральное число: ');
     
Readln(n);
     
Writeln ('Четные цифры''Номер':30);
     
no:=0;
     
Repeat
       a
:=n mod 10;
       
n:=n div 10;
       
no:=no+1;
       If (
a mod 2=0) and (a<>0then Begin
                         write 
(ano:50);
                         
kol:=kol+1;
                         
End;
     
Until n<>0;
     
Writeln('');
     
Writeln ('Четных цифр 'kol'.');
     
Until ReadKey=#27;
 
END
Непонимаю в чем ошибка, работает некорректно.*
Renge вне форума Ответить с цитированием
Старый 20.01.2011, 17:01   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цикл задан не правильно Until n<>0;
на первом же шаге при числе равном допустим 10! вы в n получите 1
1 <> 0! выход из цикла!
надо так
Until n = 0;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.01.2011, 17:06   #3
Renge
Пользователь
 
Аватар для Renge
 
Регистрация: 07.12.2010
Сообщений: 35
По умолчанию

Действительно, перепутала, спасибо. Но теперь он неправильно выдает кол. четных цифр.
Renge вне форума Ответить с цитированием
Старый 20.01.2011, 17:19   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Но теперь он неправильно выдает кол. четных цифр
Довольно логично! Смотрим код дальше!
Цитата:
Код:
kol:=0; 
   Repeat
И что мы видим? Что количество обнуляется только на старте программы! А потом пока цикл работает? НЕТ! отсюда постоянное прибавление!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.01.2011, 18:01   #5
Renge
Пользователь
 
Аватар для Renge
 
Регистрация: 07.12.2010
Сообщений: 35
По умолчанию

А зачем ему обнулятся? Он будет прибавлять по единице на каждом четном числе и так их посчитает.
Renge вне форума Ответить с цитированием
Старый 20.01.2011, 18:01   #6
Renge
Пользователь
 
Аватар для Renge
 
Регистрация: 07.12.2010
Сообщений: 35
По умолчанию

А зачем ему обнулятся? Он будет прибавлять по единице на каждом четном числе и так их посчитает.
Renge вне форума Ответить с цитированием
Старый 20.01.2011, 18:14   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Ну а как же! вот мы нашли чётные числа одного числа! Затем вводим другое число ищем цифры дальше! А количество не обнулили
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.01.2011, 18:14   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

ОООООООООООО! ДАААААААААААА! ФОРУМ ТУПИТ!!!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.01.2011, 18:16   #9
Renge
Пользователь
 
Аватар для Renge
 
Регистрация: 07.12.2010
Сообщений: 35
По умолчанию

Странно, я не понимаю почему, но программа заработала. Спасибо большое*
Renge вне форума Ответить с цитированием
Старый 20.01.2011, 18:17   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Обращайтесь!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа по Div и Mod Renge Помощь студентам 3 07.12.2010 19:57
Задача на Repeat! все написано, проверьте... Andrux Помощь студентам 1 28.12.2008 10:38
Задача на оператор Repeat. Dimak24 Помощь студентам 3 23.12.2008 15:41