Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.65/55: Рейтинг темы: голосов - 55, средняя оценка - 4.65
3 / 3 / 1
Регистрация: 22.11.2015
Сообщений: 59
1

Проверка на различность цифр в числе

09.10.2016, 12:02. Показов 9912. Ответов 16
Метки нет (Все метки)

Дано четырехзначное целое число. Определить все ли цифры числа различны.
Пример входных данных
1234
1134
1214
Пример выходных данных
YES
NO
NO
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2016, 12:02
Ответы с готовыми решениями:

Проверка повторяемости цифр в числе
при генерации числа цифры, составляющие его, повторяются. каким образом можно проверить число на...

Проверка количества цифр в числе
Доброго времени суток) Возникла проблема с программой, помогите, пожалуйста Уверен, что ошибка...

Проверка наличия определенных цифр в числе
int n,kn = 0,kc = 0,a,b; cout<<"Введите натуральное число:"; cin >>n; cout <<"Введите...

Преобразовать итерационную функцию в рекурсивную. Проверка на попарное различие цифр в числе
bool T(int buf){ bool flag=true; while(buf>0 && flag){ int x=buf%10; buf/=10; int...

16
20 / 16 / 8
Регистрация: 07.03.2016
Сообщений: 143
09.10.2016, 12:25 2
Остатки от деления бери (%) и сравнивай их через if
0
3 / 3 / 1
Регистрация: 22.11.2015
Сообщений: 59
09.10.2016, 12:33  [ТС] 3
Цитата Сообщение от Marmazetka Посмотреть сообщение
Остатки от деления бери (%) и сравнивай их через if
Делить что? Сами цифры? Если да, то на что делить?
0
273 / 132 / 44
Регистрация: 05.02.2015
Сообщений: 845
09.10.2016, 12:38 4
берешь число, делишь на 10, остаток запоминаешь в переменной. ранее поделенное число делишь еще на 10, остаток запоминаешь, сравниваешь остатки, если равны, делишь дальше, если нет выводишь "no"
0
20 / 16 / 8
Регистрация: 07.03.2016
Сообщений: 143
09.10.2016, 12:40 5
Цитата Сообщение от minore Посмотреть сообщение
берешь число, делишь на 10, остаток запоминаешь в переменной. ранее поделенное число делишь еще на 10, остаток запоминаешь, сравниваешь остатки, если равны, делишь дальше, если нет выводишь "no"
Цитата Сообщение от RafaProfa Посмотреть сообщение
Делить что? Сами цифры? Если да, то на что делить?
Вот именно так, четырехзначное число свое делишь
0
273 / 132 / 44
Регистрация: 05.02.2015
Сообщений: 845
09.10.2016, 12:45 6
псевдокод такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
x = 2456;
// число.
 
a = x%10;
x = x/10;
b = x%10;
x = x/10;
c = x%10;
x = x%10;
// теперь x число однозначное;
if (a ==b && b ==c && c ==x)
cout << "yes"; 
else;
cout << "no";
обращаю внимание, что это не C++ а скорее псевдокод алгоритма. возможны синтаксические ошибки не проверял.
0
Любитель чаепитий
3671 / 1747 / 543
Регистрация: 24.08.2014
Сообщений: 5,888
Записей в блоге: 1
09.10.2016, 12:51 7
minore, Ваш алгоритм проверяет, равны ли все цифры в заданном числе, а нужно проверить, равны ли всего 3 цифры из 4-значного числа.
0
20 / 16 / 8
Регистрация: 07.03.2016
Сообщений: 143
09.10.2016, 12:56 8
Цитата Сообщение от GbaLog- Посмотреть сообщение
Ваш алгоритм проверяет, равны ли все цифры в заданном числе, а нужно проверить, равны ли всего 3 цифры из 4-значного числа.
Цитата Сообщение от RafaProfa Посмотреть сообщение
Определить все ли цифры числа различны.
Не то...
0
GbaLog-
09.10.2016, 12:57
  #9

Не по теме:

Цитата Сообщение от Marmazetka Посмотреть сообщение
Не то...
Две темы похожих, перепутал. :pardon:

0
273 / 132 / 44
Регистрация: 05.02.2015
Сообщений: 845
09.10.2016, 13:01 10
вот задание:
Дано четырехзначное целое число. Определить все ли цифры числа различны.
где здесь информация про 3 цифры из 4? однако я тоже ошибся, так как проверяю не все ли различны, а все ли одинаковы.

Добавлено через 2 минуты
ну там где у меня == поставьте != и проверьте еще 1 и 3, 1 и 4, и 3 и 4 цифры, а так то же самое.
0
Любитель чаепитий
3671 / 1747 / 543
Регистрация: 24.08.2014
Сообщений: 5,888
Записей в блоге: 1
09.10.2016, 13:07 11
minore, Ваш алгоритм всё равно неверен, потому что при 1214 он будет проверять так:
a = 4,
b = 1,
c = 2,
x = 1;
1 != 4 -> true
1 != 2 -> true
1 != 2 -> true
И выведет Yes.
0
273 / 132 / 44
Регистрация: 05.02.2015
Сообщений: 845
09.10.2016, 13:16 12
так я же дописал, что нужно еще 3 сравнения добавить, 1 с 3, 1 с 4, и 2 с 4, так что все верно )
0
Любитель чаепитий
3671 / 1747 / 543
Регистрация: 24.08.2014
Сообщений: 5,888
Записей в блоге: 1
09.10.2016, 13:19 13
Не очень красиво, но работает.
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
/////////////////////////////////////////////////////////////////////
// Дано четырехзначное целое число. 
// Определить все ли цифры числа различны.
// Пример входных данных
// 1234
// 1134
// 1214
// Пример выходных данных
// YES
// NO
// NO
/////////////////////////////////////////////////////////////////////
#include <iostream>
/////////////////////////////////////////////////////////////////////
int main()
{
    int n{};
    
    std::cin >> n;
    
    int nd[4]{ n / 1000, n / 100 % 10, n / 10 % 10, n % 10  };
    
    bool ans{true};
           
    for( int i{}; i < 3; ++i )
    {
        for( int j = i + 1; j < 3; ++j )
        {
            if( nd[i] == nd[j] )
            {
                ans = false;
            }
        }
    }
    
    
    if  ( ans )
    {
        std::cout << "YES";
    }
    else
    {
        std::cout << "NO";
    }
}
0
273 / 132 / 44
Регистрация: 05.02.2015
Сообщений: 845
09.10.2016, 13:30 14
зачем делать 2 цикла, если можно обойтись вообще без циклов, сделав 6 сравнений в операторе if?
0
Любитель чаепитий
3671 / 1747 / 543
Регистрация: 24.08.2014
Сообщений: 5,888
Записей в блоге: 1
09.10.2016, 13:35 15
Цитата Сообщение от minore Посмотреть сообщение
сделав 6 сравнений в операторе if?
Мне лень.
0
273 / 132 / 44
Регистрация: 05.02.2015
Сообщений: 845
09.10.2016, 13:38 16
так нет, а кроме шуток, здесь циклы действительно более уместны чем перебор в ифе по 6 значениям через &&?
0
Любитель чаепитий
3671 / 1747 / 543
Регистрация: 24.08.2014
Сообщений: 5,888
Записей в блоге: 1
09.10.2016, 13:43 17
Цитата Сообщение от minore Посмотреть сообщение
кроме шуток
Я не шутил.
Цитата Сообщение от minore Посмотреть сообщение
здесь циклы действительно более уместны чем перебор в ифе по 6 значениям через &&?
А что, если станет больше, чем 4-значное число? Тогда сколько ифоф придётся делать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2016, 13:43

Определение цифр в числе,нахождение предпоследней цифры в числе
Дано натуральное число n(10&lt;=n&lt;=10000).Определить, сколько цифр в числе и найти предпоследнюю цифру.

Определение цифр в числе,нахождение предпоследней цифры в числе
#include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;locale.h&gt; int main() { setlocale(LC_ALL,...

Написать программу, которая выводит первую цифру в числе, последнюю цифру в числе, сумму всех цифр числа.
Помогите написать программу, которая выводит первую цифру в числе, последнюю цифру в числе, сумму...

Определить сколько цифр в числе n, чему равна сумма его цифр
Дано натуральное число n. Определить: сколько цифр в числе n, чему равна сумма его цифр.


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

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

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