4 / 2 / 1
Регистрация: 29.11.2012
Сообщений: 495
1

Почему не выводит результат?

21.01.2019, 00:44. Показов 2151. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввожу число и ничего не происходит. В чем может быть проблема?

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
// Задание 3: Пользователь вводит любое целое число. Необходимо из этого целого числа удалить все цифры 3 и 6 и вывести обратно на экран.
 
#include "pch.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(0, "rus");
 
    int b = 0, c = 0, a;
 
    cout << "ввести число >>" << endl;
    cin >> a;
 
    while (a > 0)
    {
 
        if (a % 10 != 3 && a % 10 != 6)
        {
            c *= 10;
            c += a % 10;
        }
        c /= 10;
 
    }
        cout << "\nрезультат";
 
        while (c > 0)
        {
            cout << c % 10;
            c /= 10;
        }
        cout << endl << endl;
    
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2019, 00:44
Ответы с готовыми решениями:

Почему код не выводит результат?
int const Y=20; int God, i; int MasY; void Year(){ for (i = 0; i &lt; Y; i++){ //...

Почему выводит неверный результат?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;locale.h&gt; #include...

Почему в выходной файл выводит неправильный результат?
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;stdlib.h&gt; using namespace std; #pragma...

Почему выводит неверный результат при вычислении произведения?
Еще 1 вопрос из разряда нубских: #include&lt;iostream&gt; #include&lt;cmath&gt; using namespace std; int...

14
Мозгоправ
1741 / 1035 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
21.01.2019, 00:56 2
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
В чем может быть проблема?
В том, что вы не выводите результат.
Результат, видимо, содержится в какой-то переменной. Вы не выводите значение ни одной переменной.
0
Нарушитель
8753 / 4728 / 1097
Регистрация: 12.03.2015
Сообщений: 22,289
21.01.2019, 08:23 3
с равно 0.

Почему не выводит результат?
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
21.01.2019, 08:50 4
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
cout << endl << endl;
Вот тут, видимо, надо написать:
C++
1
cout << c << endl;
0
0 / 0 / 0
Регистрация: 16.06.2020
Сообщений: 9
01.07.2020, 16:44 5
Подскажите, пожалуйста, как сделать чтобы нули не удалялись из числа?

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
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "");
    
    int randValue;
    int b = 0;
    cout << "Введите любое число: \n";
    cin >> randValue;
 
        // удаление 3 и 6 из числа, если оно отрицательное:
        if (randValue < 0)
        {
            randValue *= (-1);
            while (randValue)
            {
                if (randValue % 10 != 3 && randValue % 10 != 6)
                {
                    b = b * 10 + randValue % 10;
                } 
                randValue /= 10;
            }
            while (b)
            {
                randValue = randValue * 10 + b % 10;
                b /= 10;
            }
            randValue *= (-1);
        } 
 
        // удаление 3 и 6 из числа, если оно положительное:
        else 
        {
            while (randValue)
            {
                if (randValue % 10 != 3 && randValue % 10 != 6)
                {
                    b = b * 10 + randValue % 10;
                }
                randValue /= 10;
            } 
            while (b)
            {
                randValue = randValue * 10 + b % 10;
                b /= 10;
            }
        }
            // Вывод результата:
        cout << endl << "Число после удаления 3 и 6:" << endl;
        cout << randValue << endl;
        system("pause");
        return 0;
}
0
Пора на C++?
369 / 263 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
01.07.2020, 16:48 6
Anonymous4722, кстати, вы не думали использовать string вместо int?
Так будет гораздо проще.

Добавлено через 43 секунды
Я имею в виду входное значение.
Работать со строкой в данном случае удобнее чем с числом.
0
0 / 0 / 0
Регистрация: 16.06.2020
Сообщений: 9
01.07.2020, 16:50 7
TrickyBestia, уровень "Новичок". Задача на тему циклы. Поэтому минимальными знаниями надо ее решить. Без массивов, манипуляций со строками и т.д. и т.п.
Меня интересует, возможно ли устранить то, что нули тоже не выводятся по итогу?
0
Пора на C++?
369 / 263 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
01.07.2020, 17:07 8
korsak, создайте отдельную тему для своего задания.
0
0 / 0 / 0
Регистрация: 16.06.2020
Сообщений: 9
01.07.2020, 17:13 9
TrickyBestia, Зачем? У создателя темы такая же точно задачка по условию. Ему тоже, наверняка, пригодится решение как сохранить нули в выводе.
0
Пора на C++?
369 / 263 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
01.07.2020, 17:17 10
korsak, тогда давайте текст задачи, в этой теме я его не вижу.
0
0 / 0 / 0
Регистрация: 16.06.2020
Сообщений: 9
01.07.2020, 17:26 11
TrickyBestia,
Задача.
Пользователь вводит любое целое число.
Необходимо из этого целого числа удалить все цифры 3 и 6 и вывести обратно на экран

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
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "");
    
    int randValue;
    int b = 0;
    cout << "Введите любое число: \n";
    cin >> randValue;
 
        // удаление 3 и 6 из числа, если оно отрицательное:
        if (randValue < 0)
        {
            randValue *= (-1);
            while (randValue)
            {
                if (randValue % 10 != 3 && randValue % 10 != 6)
                {
                    b = b * 10 + randValue % 10;
                } 
                randValue /= 10;
            }
            while (b)
            {
                randValue = randValue * 10 + b % 10;
                b /= 10;
            }
            randValue *= (-1);
        } 
 
        // удаление 3 и 6 из числа, если оно положительное:
        else 
        {
            while (randValue)
            {
                if (randValue % 10 != 3 && randValue % 10 != 6)
                {
                    b = b * 10 + randValue % 10;
                }
                randValue /= 10;
            } 
            while (b)
            {
                randValue = randValue * 10 + b % 10;
                b /= 10;
            }
        }
            // Вывод результата:
        cout << endl << "Число после удаления 3 и 6:" << endl;
        cout << randValue << endl;
        system("pause");
        return 0;
}
0
Пора на C++?
369 / 263 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
01.07.2020, 17:39 12
korsak, вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string input;
    string output;
    setlocale(LC_ALL, "Russian");
    cout << "Введите число:" << endl;
    cin >> input;
    for (char digit : input)
    {
        if (digit != '3' && digit != '6')
            output += digit;
    }
    cout << stoi(output) << endl;
    cin.get(); cin.get();
}
Неужели вы думаете, что этот код сложнее вашего?
0
0 / 0 / 0
Регистрация: 16.06.2020
Сообщений: 9
01.07.2020, 17:57 13
TrickyBestia, Дело не в сложности. Дело в использовании пройденного материала без забега в какие-то другие. Без string не обойтись?
0
Пора на C++?
369 / 263 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
01.07.2020, 18:26 14
korsak, так подходит?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    char input[30];
    char output[30];
    setlocale(LC_ALL, "Russian");
    cout << "Введите число:" << endl;
    cin >> input;
    int j = 0;
    for (int i = 0;i < 30;i++)
    {
        if (input[i] != '3' && input[i] != '6')
        {
            output[j] = input[i];
            j++;
        }
    }
    cout << atoi(output) << endl;
    cin.get(); cin.get();
}
1
7428 / 5021 / 2891
Регистрация: 18.12.2017
Сообщений: 15,692
01.07.2020, 20:31 15
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
#include <iostream>
using namespace std;
 
int main()
{
    int n, p=0, d, k=1, res=0;
    cout << "n="; cin >> n;
    
    if(n<0) {p=1;n=-n;}
    
    while(n) 
    {
        d=n%10;
        if(d!=3 && d!=6)
        {
            res+=d*k;
            k*=10;
        }
        n/=10;        
    }
    
    if(p) n=-n;
    
    cout << "res=" << res << "\n";
    
system("pause");
return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2020, 20:31
Помогаю со студенческими работами здесь

Не могу понять почему программа не выводит результат (простейшая программа)
Здравствуйте уважаемые форумчане! Я начал изучать C++ при помощи книги. На днях я столкнулся со...

не выводит результат C++
int _tmain(int argc, _TCHAR* argv) { float x2, y2, z2, r, x1, y1, z1, s; if (x1&lt;0) else if...

Не выводит результат
Ни как не могу вывести результат. #include &lt;stdio.h&gt; #include &lt;math.h&gt; int F(int x) {...

Не выводит результат
Здравствуйте! Начал изучать данный язык программирования, написал следующую коротенькую программу:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru