С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545

Мне говорят, что в задачах множество ошибок и работает, только задача 6

22.01.2019, 12:21. Показов 1404. Ответов 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// Задание 6: Пользователь вводит целое число. Необходимо вывести все целые числа, на которое заданное число делиться без остатка.
#include "pch.h" #include <iostream>
using namespace std;
int main() {
setlocale(0, "rus"); int a;
cout << "a: >>"; cin >> a;
for (size_t i = 2; i < a; i++) {
if (a%i!=0) {
cout << i << endl;
} }
//2 Подсчитать количество целых чисел в диапазоне от 100 до 999, у которых все цифры разные
#include "pch.h" #include <iostream>
using namespace std;
int main() {
}
setlocale(0, "rus");
int res = 0, n1, n2, n3; int a = 100, b = 999;
cout << "a, b: >>"; cin >> b;
for (; a <= b; a++) {
n1 = b / 100;
n3 = (b % 100) / 10; n2 = b % 10;
if (n1 != n2 && n2 != n3 && n1 != n1); {
res++;
cout << "результат = " << res << endl;
} }
system("pause");
return 0; }
//задание 4. Пользователь вводит любое целое число А. Необходимо вывести все целые числа В, для которых А делиться без остатка на В*В и не делиться без остатка на В*В*В
#include "pch.h" #include <iostream>
using namespace std;
int main() {
 
}
setlocale(0, "rus");
int a = 999;
int c = (int)sqrt((double)a); cout << "ввести число >>"; cin >> a;
for (int b = 2; b <=c; b++) {
}
if (a%(b*b)==0 && a%(b*b*b)) {
cout << "результат >>" << b << endl;
} system("pause"); return 0;
// Задание 7: Пользователь вводит два целых числа. Необходимо вывести все целые числа, на которые оба введенных числа делятся безостатка.
#include "pch.h" #include <iostream>
using namespace std;
int main() {
setlocale(0, "rus");
int a, b;
cout << "a, b: >>"; cin >> a >> b;
 
for (int i = 2; i < a; i++) {
if (a % i != 0 && b & i != 0) {
cout << i << endl;
} }
//Подсчитать количество целых чисел в диапазоне от 100 до 999, у которых есть две одинаковые цифры
#include "pch.h" #include <iostream>
using namespace std;
int main() {
setlocale(0, "rus");
int res = 0, n1, n2, n3; int a = 100, b = 999;
for (; a <= b; a++) {
n1 = b / 100;
n3 = (b % 100) / 10; n2 = b % 10;
if (n1==n2||n2==n3||n3==n1) {
res++;
}
 
cout << "результат = " << res << endl;
} }
system("pause");
return 0; }
// Задание 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; }
// Задание 5: Пользователь вводит целое число А. Программа должна определить, что куб суммы цифр этого числа равен А*А
//
#include "pch.h" #include <iostream>
using namespace std;
int main() {
setlocale(0, "rus");
int a, b, c = 0;
cout << "ввести число >>"; cin >> a;
b = a;
while (a == 0)
 
{
c += a % 10;
a /= 10; }
       if (a==1 || a==27)
       {
cout << "\nд!" << endl;
}
else
{
} }
cout << "\nн!" << endl; system("pause"); return 0;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2019, 12:21
Ответы с готовыми решениями:

Есть три задачи, они работают и все выводят, но мне говорят, что это не так. Не могу разобраться с проблемой
Есть три задачи. Я их запускал и они работают. Но мне пишут, что ни одна не работает и не делает, то что написано в задании. Я не могу...

Уважаемые профессионалы не работает интернет,в техподдержке говорят что всё нормально...
У меня проблема с выходом в интернет. mail.ru агент в он-лайне работает, а войти в почту не могу-пишет &quot;вход не...

Отдали мне Lotus говорят бери и учи
Добрый день обращаюсь к Вам за помощью) Вот отдали мне Lotus говорят бери и учи, в прошлой теме мне помогли, и за это огромное спасибо ...

11
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
22.01.2019, 13:29
Anonymous4722, задание 2, строка 22. Разве должно быть?
C++
1
n1 != n1
Добавлено через 2 минуты
В задании 4 разберитесь со скобками. Напишите с отступами, сами увидите, что не так.

Добавлено через 1 минуту
В задании 7 неправильно записано условие:
C++
1
if (a % i != 0 && b & i != 0)
Добавлено через 4 минуты
В следующем задании также неверно написано условие:
C++
1
(n1==n2||n2==n3||n3==n1)
требуется найти числа, у которых ровно две одинаковых цифры. Ответ 111 не подходит

Добавлено через 6 минут
В задании 3 строку 83 надо заменить на
C++
1
a /= 10;
Вывод сделан в обратном порядке цифр. Не проще было просто вывести с?

Добавлено через 1 минуту
Ну и программа 5 сделана вообще неправильно...
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
22.01.2019, 14:18
Здравствуйте, Ваши решения задач содержат действительно колоссальное количество ошибок! И причем глупых ошибок. Расписывать не буду по ним можно написать целый реферат. Код нечитабельный - очень плохой стиль программирования.
Старайтесь делать пробелы между строками (отделять их) и пишите комментарии (без них Ваш код никто не поймет). 6-й номер не проверял, возможно он правильный. Вот как нужно было решить Ваши задачи (если понадобятся пояснения и комментарии - добавлю) :
Номер 1 :
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
// 1. Подсчитать количество целых чисел в диапазоне от 100 до 999, у которых есть две одинаковые цифры
int main()
{
    int count = 0;
    int stNumeral, ndNumeral, rdNumeral;
 
    for (int i = 100; i <= 999; i++) {
        stNumeral = i / 100;
        ndNumeral = i / 10 % 10;
        rdNumeral = i % 10;
 
        if (stNumeral == ndNumeral || ndNumeral == rdNumeral || stNumeral == rdNumeral)
            count++;
    }
    cout << " count : " << count << endl;
 
    return 0;
}


Номер 2 :
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
//2 Подсчитать количество целых чисел в диапазоне от 100 до 999, у которых все цифры разные
 
int main() {
 
    int count = 0;
    int stNumeral, ndNumeral, rdNumeral;
 
    for (int i=100; i<=999; i++) {
        stNumeral = i / 100;
        ndNumeral = i / 10 % 10;
        rdNumeral = i % 10;
 
        if (stNumeral != ndNumeral && ndNumeral != rdNumeral)
            count++;
    }
    return 0; 
}


Номер 3 :
Кликните здесь для просмотра всего текста
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;
 
// 3. Пользователь вводит любое целое число. Необходимо из этого целого числа удалить все цифры 3 и 6 и вывести обратно на экран.
 
int main() {
    
    int number;
    cout << "Enter number: ";
    cin >> number;
 
    int b = 0;
 
    while (number)
    {
        if (number % 10 != 3 && number % 10 != 6)
            b = b * 10 + number % 10;
        number /= 10;
    }
    while (b)
    {
        number = number * 10 + b % 10;
        b /= 10;
    }
    cout << number << endl;
    return 0;
}


Номер 4 :
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
//4. Пользователь вводит любое целое число А. Необходимо вывести все целые числа В, для которых А делиться без остатка на В*В и не делиться без остатка на В*В*В
 
int main() {
    int a; cout << " Enter a = "; cin >> a;
 
    for (int b = 2; b < a; b++) // проверим все числа до a
    {
        if (a%b*b == 0 && a % b*b*b != 0) // условие немного смущает
            cout << " b : " << b << endl;
    }
 
    return 0;
}


Номер 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
#include <iostream>
 
using namespace std;
 
// 5. Пользователь вводит целое число А. Программа должна определить, что куб суммы цифр этого числа равен А*А
 
int main()
{
    int a; cout << " Enter a = "; cin >> a;
 
    int number;
    int sum = 0;
 
    while (a > 0) {
        number = a % 10;
        a = a / 10;
        sum += number;
    }
 
    if (pow(sum, 3) == a * a)
        cout << " " << true << endl;
    else
        cout << " " << false << endl;
 
    return 0;
}


Номер 7 :
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
// 7. Пользователь вводит два целых числа. Необходимо вывести все целые числа, на которые оба введенных числа делятся безостатка.
 
int main() {
    int a; cout << " Enter a = "; cin >> a;
    int b; cout << " Enter b = "; cin >> b;
 
    int count; cout << " Enter count = "; cin >> count; // до какого числа будем проверять
 
    for (int i = 2; i < count; i++) 
        if (a % i == 0 && b % i == 0) 
            cout << " i : " << i << endl;
 
    return 0;
}


Желаю успехов!

Добавлено через 13 минут
Цитата Сообщение от liv Посмотреть сообщение
требуется найти числа, у которых ровно две одинаковых цифры
Возможно в задаче имеется ввиду хотя бы две одинаковые цифры?
Тогда то условие правильное

Добавлено через 5 минут
liv, если Вы правы тогда вот нужное условие :
Code
1
if((n1==n2 && n2 != n3) || (n1 != n2 && n2 == n3) || (n1 == n3 && n1 != n2)
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
22.01.2019, 16:03
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
хотя бы две одинаковые цифры
Сказано же, решена неправильно
Значит, неправильно
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
22.01.2019, 23:13
liv,
Цитата Сообщение от liv Посмотреть сообщение
Сказано же, решена неправильно
Значит, неправильно
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
23.01.2019, 03:49
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
Вот как нужно было решить Ваши задачи

Номер 2:
Подсчитать количество целых чисел в диапазоне от 100 до 999, у которых все цифры разные
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
if (stNumeral != ndNumeral && ndNumeral != rdNumeral)
запись неправильная - например подсчитает 757
Номер 3:
удалить все цифры 3 и 6
Enter number: 3706
результат: 7 - потерян ноль.
Номер 4:
А делится без остатка на В*В и не делится без остатка на В*В*В
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
if (a%b*b == 0 && a % b*b*b != 0)
запись неправильная - произведения идут без скобок
Номер 5:
куб суммы цифр этого числа равен А*А
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
if (pow(sum, 3) == a * a)
запись неправильная - после цикла A испорчено. pow в таких задачах не применяется.
Номер 7:
Пользователь вводит два целых числа.
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
int a; cout << " Enter a = "; cin >> a;
int b; cout << " Enter b = "; cin >> b;
int count; cout << " Enter count = "; cin >> count;
решение не соответствует условию - вводится 3 числа
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
решения задач содержат действительно колоссальное количество ошибок!
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
23.01.2019, 08:13
Yetty!
Номер 2:
Подсчитать количество целых чисел в диапазоне от 100 до 999, у которых все цифры разные
Цитата Сообщение от Yetty Посмотреть сообщение
if (stNumeral != ndNumeral && ndNumeral != rdNumeral)
Code
1
2
if (stNumeral != ndNumeral && ndNumeral != rdNumeral && stNumeral != rdNumeral)
{...}
Цитата Сообщение от Yetty Посмотреть сообщение
Номер 3:
удалить все цифры 3 и 6
Enter number: 3706
результат: 7 - потерян ноль.
Кликните здесь для просмотра всего текста
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
// 3. Пользователь вводит любое целое число. Необходимо из этого целого числа удалить все цифры 3 и 6 и вывести обратно на экран.
 
#include <iostream>
using namespace std;
 
int main() {
 
    int num;
    cout << "Enter num: ";
    cin >> num;
 
    int result = 0, tmp, ten = 1;
    for (; num != 0; num /= 10) {
        tmp = num % 10;
        if (tmp != 3 && tmp !=6) {
            result = tmp * ten + result;
            ten *= 10;
        }
    }
 
    cout << " result : " << result << endl;
 
    return 0;
}

Номер 4:
А делится без остатка на В*В и не делится без остатка на В*В*В
Цитата Сообщение от Yetty Посмотреть сообщение
if (a%b*b == 0 && a % b*b*b != 0)
Code
1
2
if(a%(b*b) == 0 && a % (b*b*b) != 0
{...}
Цитата Сообщение от Yetty Посмотреть сообщение
Номер 5:
куб суммы цифр этого числа равен А*А
Цитата Сообщение от Yetty Посмотреть сообщение
Номер 7:
Пользователь вводит два целых числа.
int a; cout << " Enter a = "; cin >> a;
int b; cout << " Enter b = "; cin >> b;
int count; cout << " Enter count = "; cin >> count;
решение не соответствует условию - вводится 3 числа
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
// 7. Пользователь вводит два целых числа. Необходимо вывести все целые числа, на которые оба введенных числа делятся безостатка.
 
int main() {
    int a; cout << " Enter a = "; cin >> a;
    int b; cout << " Enter b = "; cin >> b;
 
    for (int i = 2; i < a*b; i++) // проверим до a*b
        if (a % i == 0 && b % i == 0)
            cout << " i : " << i << endl;
 
    return 0;
}


Добавлено через 6 минут
Номер 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
#include <iostream>
 
using namespace std;
 
// 5. Пользователь вводит целое число А. Программа должна определить, что куб суммы цифр этого числа равен А*А
 
int main()
{
    int a; cout << " Enter a = "; cin >> a;
 
    int number;
    int sum = 0;
 
    int buff =a;
    while (buff  > 0) {
        number = buff  % 10;
        buff  = buff  / 10;
        sum += number;
    }
 
    if ((sum*sum*sum) == (buff *buff ))
        cout << " " << true << endl;
    else
        cout << " " << false << endl;
 
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
23.01.2019, 14:51
JohnBlack123, замысел верный. но реализация... присвоить buff значение A, испортить buff и сравнивать с buff.
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
23.01.2019, 16:55
Yetty,

Добавлено через 48 секунд
Цитата Сообщение от Yetty Посмотреть сообщение
JohnBlack123, замысел верный. но реализация... присвоить buff значение A, испортить buff и сравнивать с buff.
Почему бы и нет?
Не подскажите как это сделать лучше? Буду очень благодарен!
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
23.01.2019, 17:57
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
Не подскажите как это сделать лучше? Буду очень благодарен!
в цикле buff портится, поэтому сравнивать в if нужно не с buff, а с A.
кстати кроме 1 разве есть такие числа ?
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
23.01.2019, 18:00
Yetty, спасибо! Сегодня попробую сделать и отправлю сюда.
0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
24.01.2019, 22:12  [ТС]
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
Здравствуйте, Ваши решения задач содержат действительно колоссальное количество ошибок! И причем глупых ошибок. Расписывать не буду по ним можно написать целый реферат. Код нечитабельный - очень плохой стиль программирования.
Старайтесь делать пробелы между строками (отделять их) и пишите комментарии (без них Ваш код никто не поймет). 6-й номер не проверял, возможно он правильный. Вот как нужно было решить Ваши задачи (если понадобятся пояснения и комментарии - добавлю) :
5 задача не работает: Переменная A после цикла равна нулю. 6 задача с ошибкой: if (a%i != 0) условие неверное. 1 ок. 2 ок. 4 не работает, ошибка в приоритетах операций, остаток от деления берется раньше, чем выполнилось умножение, нужны скобки. 7 задача - ошибка в условии && b & i == 0 3 задача не работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2019, 22:12
Помогаю со студенческими работами здесь

что я делаю не так и чего мне не хватает? задача в описании
нужно сделать вот такой рисунок 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 ...

Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны. Что рекомендуете прочитать мне для начала
Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны. Что рекомендуете прочитать мне для...

Критичное восприятие, которого мне не хватало (да и не только мне)
Недавно я понял, чего мне так сильно не хватало большую часть жизни - достаточной осознанности своих действий. Не просто в плане выполнения...

Говорят, что математика умрёт
Увлекшись математикой, прослушав ряд лекций, прочитав много статей по теме я натыкался на такие фразы (как в статьях и в лекциях, так и в...

Множество. Получить новое множество, в котором присутствуют только четные числа
Задано множество целых чисел от 1 до 255. Получить из этого множества новое множество, в котором присутствуют только четные числа.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru