Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Harmonster
9 / 9 / 3
Регистрация: 20.05.2012
Сообщений: 101
#1

Цикл вывода пятизначных цифр - C++

31.01.2014, 10:20. Просмотров 353. Ответов 10
Метки нет (Все метки)

Вывести на печать все пятизначные числа,в которых имеются цифры 3 и 8

Но цикл работает неправильно. Помогите, пожалуйста!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream> 
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    for (int i = 10000; i <= 99999; i++)
    {
        if (if ((((i / 10000) == 3) || ((i / 1000) == 3) || ((i / 100) == 3) || ((i / 10) == 3)) || (((i / 10000) == 8) || ((i / 1000) == 8) || ((i / 100) == 8) || ((i / 10) == 8))))
            cout << i << endl;
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2014, 10:20     Цикл вывода пятизначных цифр
Посмотрите здесь:

Цикл: Подсчитать количество цифр A в числе N. C++
Цикл: Написать программу вывода таблицы через 1 градус в 3 столбца C++
C++ Не получается дописать программу вывода слов без цифр
Цикл вывода диапазона данных C++
C++ Цикл вычисления и вывода первых 15 членов последовательности и их суммы
Программа на цикл for (как добиться вывода на экран?) C++
Преобразовать массив цифр в строку для вывода на cout<< C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sktm
0 / 0 / 1
Регистрация: 30.01.2014
Сообщений: 11
31.01.2014, 10:27     Цикл вывода пятизначных цифр #2
Чтобы получить первую цифру нужно i/10000, вторую - i/1000%10, третью - i/100%10, четвертую - i/10%10, пятую i%10
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
31.01.2014, 10:33     Цикл вывода пятизначных цифр #3
Harmonster, в твоем коде пару ошибок:
во-первых, непонятное использование двойного логического оператора if
во-вторых, нужно использовать деление с остатком(оператор %)
Вот готовый код:
C++
1
2
3
4
5
for (int i = 10000; i <= 99999; i++)
    {
        if ((((i % 10000) == 3) || ((i % 1000) == 3) || ((i % 100) == 3) || ((i % 10) == 3)) || (((i % 10000) == 8) || ((i % 1000) == 8) || ((i % 100) == 8) || ((i % 10) == 8)))
            cout << i << endl;
    }
sktm
0 / 0 / 1
Регистрация: 30.01.2014
Сообщений: 11
31.01.2014, 10:42     Цикл вывода пятизначных цифр #4
C++
1
2
3
4
5
for (int i = 10000; i <= 99999; i++)
    {
        if (i / 10000 == 3 || i / 1000 % 10 == 3 || i / 100 % 10 == 3 || i / 10 % 10 == 3 || i % 10 == 3  || i / 10000 == 8 || i / 1000 % 10 == 8 || i / 100 % 10 == 8 || i / 10 % 10 == 8 || i % 10 == 8)
            cout << i << endl;
    }
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
31.01.2014, 10:46     Цикл вывода пятизначных цифр #5
sktm, у нас с тобой не совсем правильные варианты, как не странно...
И в твоем, и в моем случае число, например 10032 не выводится...
sktm
0 / 0 / 1
Регистрация: 30.01.2014
Сообщений: 11
31.01.2014, 10:55     Цикл вывода пятизначных цифр #6
Xopecc, у меня выводит, я проверил
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
31.01.2014, 11:02     Цикл вывода пятизначных цифр #7
sktm, я твой код проверил на 10032, не выводит его!!!
Harmonster,Вот переделанный код(все работает):
C++
1
2
3
4
5
for(int i(10000); i<=99999; i++){
        
        if((i%10 == 3) || (i%100/10 == 3) || (i%1000/100 == 3) || (i%10000/1000 == 3) || (i/10000 == 3) || (i%10 == 8) || (i%100/10 == 8) || (i%1000/100 == 8) || (i%10000/1000 == 8) || (i/10000 == 8))
         cout<<i<<endl;
    }
Добавлено через 5 минут
sktm, я отказываюсь понимать дебаггер MSVS 2012, в первый раз в твоем коде не показал число 10032, во второй раз показал... Что бы это могло значить?
Harmonster
9 / 9 / 3
Регистрация: 20.05.2012
Сообщений: 101
31.01.2014, 11:03  [ТС]     Цикл вывода пятизначных цифр #8
Господа! Спасибо Вам за ответы! Но вы наверное поняли неправильно:
"Вывести на печать все пятизначные числа,в которых имеются цифры 3 и 8"
То есть, например 10308, 10803 и тп
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
31.01.2014, 11:06     Цикл вывода пятизначных цифр #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Harmonster, Ничего сложного, берем мой код, и кое-что добавляем:
C++
1
2
3
4
5
for(int i(10000); i<=99999; i++){
        
        if(((i%10 == 3) || (i%100/10 == 3) || (i%1000/100 == 3) || (i%10000/1000 == 3) || (i/10000 == 3)) && ((i%10 == 8) || (i%100/10 == 8) || (i%1000/100 == 8) || (i%10000/1000 == 8) || (i/10000 == 8)))
         cout<<i<<endl;
    }
P.S. То есть мы сначала ищем цифру 3, а затем цифру 8 в числе, если оба присутствуют, то выводим число:
C++
1
&&
sktm
0 / 0 / 1
Регистрация: 30.01.2014
Сообщений: 11
31.01.2014, 11:08     Цикл вывода пятизначных цифр #10
Harmonster, тогда вот
C++
1
2
3
4
5
for(int i(10000); i<=99999; i++){
        
        if(((i%10 == 3) || (i%100/10 == 3) || (i%1000/100 == 3) || (i%10000/1000 == 3) || (i/10000 == 3)) && ((i%10 == 8) || (i%100/10 == 8) || (i%1000/100 == 8) || (i%10000/1000 == 8) || (i/10000 == 8)))
         cout<<i<<endl;
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2014, 11:10     Цикл вывода пятизначных цифр
Еще ссылки по теме:

C++ Как преобразовать цикл для вывода сотрудников по отделам
Getch() и цикл вывода меню вместе C++
C++ Подскажите алгоритм для вывода цифр из числа в прямом порядке
Цикл: Найти произведение цифр числа К C++
C++ Цикл для вывода min чисел в одномерный массив

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Xopecc
31.01.2014, 11:10     Цикл вывода пятизначных цифр
  #11

Не по теме:

sktm, я быстрей

Yandex
Объявления
31.01.2014, 11:10     Цикл вывода пятизначных цифр
Ответ Создать тему
Опции темы

Текущее время: 08:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru