С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 9

Вы ввели трехзначное число. Составьте программу, определяющую, есть ли в этом числе заданная цифра

07.12.2019, 20:10. Показов 4422. Ответов 8
Метки си (Все метки)

Студворк — интернет-сервис помощи студентам
Что в этом коде не так?
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 <stdio.h>
#include <math.h>
#include <conio.h>
#include <windows.h>
 
int main()
{
int a, b, c, d, n;
        printf("b = ");
    scanf("%d", &b);
    printf("a = ");
    scanf("%d", &a);     
    n=b%10;
    c=(b/10)%10;
    d=b/100;
 
 if(n==a||c==a||d==a)
{
    printf(" b have a \n");
}
else{
 
   printf(" b  don't have а \n");
}
getch();
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2019, 20:10
Ответы с готовыми решениями:

Вы ввели трехзначное число. Составьте программу, определяющую, есть ли в этом числе введена цифра
Вы ввели трехзначное число. Потом ввели одну цифру. Составьте программу, определяющую, есть ли в этом числе введена цифра

Дано длинное целое число, содержащее не более 100 цифр Определить, есть ли в этом числе заданная цифра
Помогите решить 4. Дано длинное целое число, содержащее не более 100 цифр. Рассматривать цифры числа, как массив символов. Определить...

Дано двухзначное число и цифра. Определить, есть ли введенная цифра в этом числе
Дано двухзначное число и цифра. Определить, есть ли введенная цифра в этом числе.

8
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
07.12.2019, 23:38
Цитата Сообщение от dronkdil Посмотреть сообщение
Что в этом коде не так?
Во-первых, на него смотреть неприятно. Теги ставить умеешь?
А так по логике ошибок не вижу. Подозрение на scanf. Что он вводит, о чем эта прынцесса думает, чего ждет - нам так просто не понять. Посему выведи a и b, чтобы хоть увидеть, что, блин, в натуре происходит...

Добавлено через 4 минуты
Ну и выбор идентификаторов (имен переменных) хорош! Голову просто ломит! Сам себе - пиши как хошь! Но ты ж людям показываешь!
Посему лучше уж сразу какую-то логику в обозначаньях соблюдать. А вдруг людям показывать придется? Да и самому проще будет.

Добавлено через 9 минут
dronkdil, и еще. Прости меня, старого зануду! Но вопрос поставлен в корне не правильно. "Что в этом коде неправильно" - это ты должен сказать. Чем он тебе не угодил. Не транслируется (тогда - что сказано), Не работает, работает, да не так (а как работает, а чего ты ждешь?). И вот тогда мы попытаемся сказать - Почему
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
08.12.2019, 08:56
Код выглядит правильно. Не вижу ни синтаксических ошибок, ни ошибок в логике.
Цитата Сообщение от Байт Посмотреть сообщение
"Что в этом коде неправильно" - это ты должен сказать. Чем он тебе не угодил.
Согласен, так решить проблему будет намного проще.
0
 Аватар для COKPOWEHEU
4082 / 2680 / 432
Регистрация: 09.09.2017
Сообщений: 11,900
08.12.2019, 09:36
Цитата Сообщение от dronkdil Посмотреть сообщение
Что в этом коде не так?
Использование <conio.h> и <windows.h> без необходимости. В результате нельзя просто скопировать ваш код и отдать компилятору, приходится удалять этот мусор.
Если они подключались для getch(), то, во-первых, зачем если есть system("pause"), а во-вторых, сама идея заставлять запускающую сторону что-то там жать неудачна.
--
Поскольку подробностей по "что не так" вы не предоставили, поиграем в Вангу. Например, задание могло проверяться автоматической системой. Она передает вашей программе что-то вроде 123 4 и ждет ответ false, тогда как ваша программа не завершается вообще (поскольку ждет эникея, которого нет), из-за чего система логично считает программу зависшей и убивает. Даже если исправите getch(), система получит ответ b = a = b don't have а , что не совпадает с шаблоном, а значит будет считаться ошибкой.
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 9
08.12.2019, 13:44  [ТС]
Спасибо за объективную критику. Я только начал изучать этот язык, поэтому очень много не знаю. Это было мое домашнее задание, которое, по какой-то причине не понравилось моему преподавателю. Код был просто перечеркнут со словами : " Эта программа не будет работать правильно". А я вот сижу, и голову ломаю, что здесь не так

Пишу очень примитивный код, тк как запаса знаний еще не хватает. Да и тем более, преподаватель запрещает пользоваться теми функциями которые мы еще не учили

Добавлено через 1 минуту
А еще, сама соль в том, что код работает и все, вроде как, работает верно
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
08.12.2019, 16:09
Лучший ответ Сообщение было отмечено dronkdil как решение

Решение

dronkdil, пускай скажет на каком тесте программа сработает неправильно, иначе непонятно что он хочет. Все цифры вычисляются правильно(и последняя и средняя и первая). Возможно стоит учесть что пользователь может ввести не трехзначное число и нужна проверка, правда по условию считается что вводится именно трехзначное число. Единственное что мне в коде не нравится это стиль. Но это нормально, я иногда смотрю свои первые сообщения на форуме, тоже был не очень аккуратный код.
Хотя бы вот так, чтоб отступы везде были нормальные, такое легче читать.
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
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <windows.h>
 
int main()
{
    int a, b, c, d, n;
    printf("b = ");
    scanf("%d", &b);
    printf("a = ");
    scanf("%d", &a);     
    n = b % 10; // больше пробелов, так лучше смотрится(хотя это вкусовщина, но многие именно так пишут) 
    c = b / 10 % 10; // тут скобки не обязательны
    d = b / 100;
    if (n == a || c == a || d == a)
    {
        printf(" b have a \n");
    }
    else
    {
        printf(" b  don't have а \n");
    }
    getch();
}
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.12.2019, 21:42
Цитата Сообщение от dronkdil Посмотреть сообщение
Код был просто перечеркнут со словами
Это как? На бумажке перечеркнул?
А какого цвета было его лицо при этом? Синевой не отливало, нет?
При нынешних технологиях эту ситуацию без подробностей оценить сложновато.
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 9
08.12.2019, 22:06  [ТС]
Честно, не смотрел на его лицо, тк как был в шоке. У нас еще такая странная система, мы делаем отчеты.. вооот. И этот код был у меня на А4 в отчете. Вот так вот, легким движением руки, мой код превратился в крестик
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.12.2019, 22:38
dronkdil, понимаете, у вас с преподом-черкальщиком конфликт. В чем именно он заключается, отсюда не понять. Теме конфликта и совершенно разного освещения его обоими сторонами посвящено много произведений искусства. И без реакции с другой стороны тут разобраться просто невозможно.
Но если ваше освещение действительно адекватно ситуации, тут можно предложить 2 выхода.
а) Найти другого препода. Но это не всегда представляется возможным.
Тогда (б) терпеливо дождаться естественного расставания. Всеми правдами добиться того что вам нужно. Чего? Зачета? - вот и добивайтесь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2019, 22:38
Помогаю со студенческими работами здесь

Составьте программу ,определяющую ,сколько раз в заданном натуральном числе М встречается наибольшая цифра
Составьте программу ,определяющую ,сколько раз в заданном натуральном числе М встречается наибольшая цифра.

Задано трехразрядное число а с двумя разрядам в дробной части. Определить, есть ли в этом числе цифра 8
Задано трехразрядное число а с двумя разрядам в дробной части. Определить, есть ли в этом числе цифра 8.

Задано трехразрядное число а с двумя разрядам в дробной части. Определить, есть ли в этом числе цифра 8
Задача 3. Задано трехразрядное число а с двумя разрядам в дробной части. Определить, есть ли в этом числе цифра 8.

Определить, есть ли в числе заданная цифра
Помогите решить 4. Дано длинное целое число, содержащее не более 100 цифр. Рассматривать цифры числа, как массив символов. Определить...

Определить, есть ли в числе заданная цифра
Дано натуральное число. Определить, есть ли в нем цифра a.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 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 считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru