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

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

22.01.2019, 12:21. Показов 1425. Ответов 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 / 4574 / 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 / 4574 / 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru