С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
keks1434
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 8
#1

Циклы для распечатки чисел - C++

26.09.2013, 16:35. Просмотров 1158. Ответов 10
Метки нет (Все метки)

Циклы для распечатки чисел.
В диалоговом режиме вводится некоторое число N (В диапазоне от 1 до 2000). Программа должна вывести числа, определенные заданием в виде нескольких колонок, выровненных по правому краю. Все числа от 1 до N натуральные.

1) Распечатать числа в диапазоне от 1 до N, у которых самый большой делитель (не равный числу) есть двухзначное число.
2)Распечатать числа в диапазоне от 1 до N, у которых произведение первой и последней цифры равны числу M.

подскажите код пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2013, 16:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклы для распечатки чисел (C++):

Циклы: Задано натуральное число n. Найти количество натуральных чисел, не превышающих n и не делящихся ни на одно из чисел 2, 3, 5 - C++
Завтра зачет не успеваю сделать занимаюсь prologom помогите кому не сложно!!! 1)(Циклы)Задано натуральное число n. Найти количество...

Написать шаблоны функций для для вычисления суммы произведений двух соседних чисел для трех целых чисел и в одномерном массиве целых чисел - C++
Написать шаблоны функций для для вычисления суммы произведений двух соседних чисел для трех целых чисел и в одномерном массиве целых чисел:...

Циклы.Посчитать количество чисел - C++
Посчитать количество чисел от a до b(a и b вводятся с клавиатуры), у которых все цифры разные(не используя массива).Помогите пожалуйста! ...

Форматы чисел, циклы | задача - C++
Дано n вещественных чисел. Найти количество тех из них, которые после усечения стали больше 15 , четны и кратны 5.

Суммирование чисел от 50 до 100 через циклы for и while. - C++
Всем доброго утра. Попал в политех, нужно выучить С++. Учу при помощи учебника "Язык програмированияф С++. Вводный курс." Суть проблемы....

Циклы: Найти сумму квадратов чисел от m до n - C++
Найти сумму квадратов чисел от m до n. Заранее спасибо)))

10
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
26.09.2013, 17:11 #2
2
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
using namespace std;
int n,m,k;
int main()
{
    cout << "Enter number N [1..9999]= ";cin >> n;
    cout << "Enter number M = ";cin >> m;
    cout << "Answer = ";k=0;
    for(int i=1;i<=n;i++)
    {
        if (((i / 1000))!=0) { if (((i/1000)+(i%10))==m) cout << i << " ";k++;} ;
        if (((i / 100))!=0) { if (((i/100)+(i%10))==m) cout << i << " ";k++;} ;
        if (((i / 10))!=0) { if (((i/10)+(i%10))==m) cout << i << " ";k++;} ;
    };
    if (k==0) cout << "0";
    cout << "\n";
    system("pause");
}
1
keks1434
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 8
26.09.2013, 17:21  [ТС] #3
что за компилятор у вас?
0
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
26.09.2013, 17:24 #4
На этот код notepad++
а так то пишу в Microsoft Visual C++ 2010
0
keks1434
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 8
26.09.2013, 17:27  [ТС] #5
Цитата Сообщение от newyork7776 Посмотреть сообщение
На этот код notepad++
а так то пишу в Microsoft Visual C++ 2010
мне задачу надо сдать в borland'e а там таких функицци и не читает как мне изменить под древний компилятор задачу?)
0
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
26.09.2013, 17:30 #6
На таком компил вас устроит?
0
keks1434
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 8
26.09.2013, 17:34  [ТС] #7
Цитата Сообщение от newyork7776 Посмотреть сообщение
как раз на него и надо) ток у меня версия 3.1 но это не суть
0
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
26.09.2013, 17:46 #8
переделаю ждите

Добавлено через 11 минут
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
int n,m,k,exit;
int main()
{
    cout << "Enter number N [1..9999]= ";cin >> n;
    cout << "Enter number M = ";cin >> m;
    cout << "Answer = ";k=0;
    for(int i=1;i<=n;i++)
    {
        if (((i / 1000))!=0) { if (((i/1000)+(i%10))==m) cout << i << " ";k++;} ;
        if (((i / 100))!=0) { if (((i/100)+(i%10))==m) cout << i << " ";k++;} ;
        if (((i / 10))!=0) { if (((i/10)+(i%10))==m) cout << i << " ";k++;} ;
    };
    if (k==0) cout << "0";
    cout << "\n";
    cout << "Please enter number to exit ";cin >> exit;
 
}

нормально или нет?
1
keks1434
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 8
26.09.2013, 17:56  [ТС] #9
да нормально,включаеться! спасибо! щас разберусь только

Добавлено через 7 минут
В диапазоне от 1 до 2000, а это как будет выглядеть? можно еще коментарий к строке
C++
1
if (((i / 10))!=0) { if (((i/10)+(i%10))==m) cout << i << " ";k++;} ;// коментарий
0
newyork7776
350 / 343 / 80
Регистрация: 21.05.2013
Сообщений: 1,312
Завершенные тесты: 1
26.09.2013, 18:10 #10
C++
1
if (((i / 10))!=0) { if (((i/10)+(i%10))==m) cout << i << " ";k++;} ;
допустим i=11 m=2
если (((11/10))!=0) { если (((11/10)+(11%10)==2) пишем число 11;k++;}
если (1!=0) {если ((1 + 1) ==2) пишем число 11;k++;}}

Добавлено через 43 секунды
можна сменить цикл старт 11 а не с 1
1
keks1434
0 / 0 / 0
Регистрация: 24.09.2013
Сообщений: 8
26.09.2013, 20:57  [ТС] #11
Кому надо вот код с пояснением
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Распечатать числа в диапазоне от 1 до N, у которых произведение первой и последней цифры равны числу M.
/* подключаем библиотеки */
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main ()
{
    int n = -1, //  конечный диапазон чисел, которые нам нужны
                //  устанавливаем начальное значение -1
                //  это нужно для проверки числа, которое ввел пользователь (оно должно быть в диапазоне от 1 до 2000)
 
        m,      //  произведение первой и последней цифры должно быть равно этому числу
                //  начальное значение нам тут не нужно
 
        i = 10, //  счетчик, чтобы бежать по цифрам, по сути это и есть наши цифры (от 1 до N по условию)
                //  но бежать мы начинаем с 10, так как нам нужно найти числа, произведение первой и последней цифры которого равно m
                //  соответственно нам нужно только двузначные числа
 
        b,      //  буферная переменная, чтобы разбирать число на цифры
                //  на каждом шаге цикла в нее записыватся число i и разбирается по цифрам
                //  i нам терять нельзя
 
        o,      //  сюда будет записываться первая цифра числа i (b)
 
        t,      //  сюда последняя
 
        f = 0;  //  флаг
                //  если вдруг не будет чисел, удовлетворяющих нашему условию, то он останетс равен 0
                //  соответственно можно будет вывести сообщение о том, что таких чисел нет
 
    /*
        n должно быть от 1 до 2000
        требуем, чтобы пользователь ввел именно такое число
    */
    while (n < 1 || n > 2000)
    {
        cout << "n=";
        cin >> n;
    }
 
    /*
        вводим число m
        тут никаких ограничений нет, поэтому можно ввести любое число
    */
    cout << "m=";
    cin >> m;
 
    /*
        бежим по нашим числам
        от 10 до n (N)
    */
    while (i <= n)
    {
        b = i;      //  помещаем наше число в буферную переменную, чтобы не потерять его
        t = b%10;   //  берем последнюю цифру нашего числа и пишем ее в переменную t
 
        /*
            разбираем число на цифры
        */
        while (b)       // пока b не станет равным 0, то есть пока мы его полностью не разберем
        {
            o = b%10;   //  отделяем каждую цифру от нашего числа
                        //  в итоге в конце (после выхода из этого while'а) там будет первая (младшая) цифра нашего числа
            b /= 10;    //  делим число на 10, чтобы перейти к следующему шагу цикла (попасть к следующей цифре)
        }
 
        /*
            проверяем, равно ли произведение первой и последней цифры числа введенному числу m
            если такое число есть, то выводим его и присваиваем переменной f (флаг) значение 1,
            чтобы если подобных чисел нет (флаг тогда останется равным 0) вывести потом сообщение об этом
        */
        if (t*o == m)
        {
            printf("%5d", i);
            f = 1;
        }
 
        i++;    //  переходим к следующему числу
    }
 
    /*
        если f (флаг) так и остался равен 0, значит чисел, удовлетворяющих нашему условю, нет
        поэтому нужно вывести сообщение, уведомляющее об этом
    */
    if (f == 0)
        printf("Таких чисел нет");
 
    return 0;
}
0
26.09.2013, 20:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2013, 20:57
Привет! Вот еще темы с ответами:

Циклы: первые 6 чисел, кратные 9, вывести на экран - C++
Первые 6 чисел, кратные 9 вывести на экран. Как дописать не могу понять? const int max = 109; int counter = 0; int ci= 0; ...

Вложенные циклы: вывести n первых простых чисел - C++
Дано натуральное число n. Простым называется число, имеет только два делителя - именно число и единицу. Вывести n первых простых чисел.

Задача на циклы! Язык Си++! определить количество разных чисел - C++
Определить количество различных чисел, которые содержатся в числе N? ( это число мы вводим с клавиатуры!! )

Циклы: нахождение суммы всех нечетных двухзначных чисел - C++
Напишите пожалуйста программу для нахождения суммы всех нечетных двухзначных чисел на С++


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.