Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
#1

Дано Натуральное число N(N<10000) - C++

24.08.2012, 06:30. Просмотров 1860. Ответов 15
Метки нет (Все метки)

Определить, верно ли, что все 4 цифры этого числа различны, как, например, у чисел 1234, 0541.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2012, 06:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Дано Натуральное число N(N<10000) (C++):

Дано натуральное число N< 10000. Вывести на экран первую и последнюю цифры числа
Дано натуральное число N&lt; 10000. Вывести на экран первую и последнюю цифры...

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

Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N
Дано натуральное число N (N &lt;= 100). Построить натуральное число, состоящее из...

Пользователь вводит с клавиатуры натуральное число меньшее 10000
Пользователь вводит с клавиатуры натуральное число меньшее 10000. Программа...

Найти натуральное число от 1 до 10000 с максимальной суммой делителей.
Не понимаю как решить))

Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной записи m изменением порядка цифр на обратный (
Дано натуральное число m. Найти такое натуральное n, что двоичная запись n...

15
Пaтрик
417 / 392 / 132
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
24.08.2012, 07:52 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
#include <string>
#include <set>
 
// Первый параметр: Число, которое нужно проверить
// Второй параметр: Количество цифр, котороые нужно проверить
bool unique_digits_count(int number, size_t count)
{
   std::string str = std::to_string(std::abs(number));
   std::set<int> set(str.begin(), str.end());
   return set.size() == count;  
}
 
int main()
{
   std::cout << std::boolalpha << unique_digits_count(1234, 4) << std::endl;
}
link
1
zitxbit
89 / 741 / 279
Регистрация: 11.04.2012
Сообщений: 971
24.08.2012, 09:37 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
int main()
{
    int N = 4444;
    printf("Number is %d\n",N);
 
    bool isdiff = false; int val = 0;
    for (int i = 0; N > 0 && !isdiff; i++, N/=10)
        if ((N % 10) != val && i > 0) isdiff = true;
        else val = N % 10;
 
    printf("Digits are %s\n",!isdiff ? "equal" : "not equal");
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/7c6756b4851872f7fbe6714261b05541
0
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 08:50  [ТС] #4
ни одна из программ не подходит, т.к. программы должны работать в Microsofo Visual Studio, а она выдаёт ошибки(
0
defer
秘密
558 / 238 / 16
Регистрация: 29.11.2010
Сообщений: 797
25.08.2012, 09:05 #5
Какие ошибки?
0
cojuer
0 / 0 / 1
Регистрация: 27.07.2012
Сообщений: 5
25.08.2012, 09:18 #6
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>
#include <cmath>
#include <string>
#include <set>
using namespace std;
 
// Первый параметр: Число, которое нужно проверить
// Второй параметр: Количество цифр, котороые нужно проверить
bool unique_digits_count(int number, size_t count)
{
   string str = to_string(long double(abs(number)));
   set<int> set(str.begin(), str.end());
   return set.size() == count;  
}
 
int main()
{
    int a;
    cin>>a;
   cout << boolalpha << unique_digits_count(a, 4) << endl;
   return 0;
}
Переделка программы Патрика,которая работает в Visual Studio.
0
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:19  [ТС] #7
Ошибка 1: error C2668: std::to_string: неоднозначный вызов перегруженной функции
2: IntelliSense: существует более одного экземпляра перегруженная функция "std::to_string", соответствующего списку аргументов. - это для первой программы.
0
ValeryS
Модератор
7134 / 5402 / 669
Регистрация: 14.02.2011
Сообщений: 18,226
25.08.2012, 09:20 #8
Цитата Сообщение от Uroranger Посмотреть сообщение
ни одна из программ не подходит,
а, Вы , батенька, Хам
Цитата Сообщение от Uroranger Посмотреть сообщение
программы должны работать в Microsofo Visual Studio
Нужно так делай

zitxbit,
Оригинально но не продуманно
например на
C++
1
int N = 1212;
выдает
Number is 1212
Digits are not equal
у тебя сравниваются 2 соседних
и если они различны то вываливаемся из цикла
твой алгоритм может проверить что все цифры в числе одинаковы
это несколько не

Цитата Сообщение от Uroranger Посмотреть сообщение
пределить, верно ли, что все 4 цифры этого числа различны
1
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:21  [ТС] #9
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
Ошибка 2 error LNK1120: 1 неразрешенных внешних элементов - это для третьей программы, которой здесь написана
0
ValeryS
Модератор
7134 / 5402 / 669
Регистрация: 14.02.2011
Сообщений: 18,226
25.08.2012, 09:25 #10
Цитата Сообщение от Uroranger Посмотреть сообщение
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
научись работать в VS, в частности создавать проекты
странно было бы видеть WinMain в консольном проекте
0
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:28  [ТС] #11
Цитата Сообщение от ValeryS Посмотреть сообщение
ни одна из программ не подходит,
извиняюсь, просто мне очень нужно, чтобы она работала в VC/

Добавлено через 1 минуту
я создал пустой проект и всё....а почему он выдаёт такую ошибку - я непонимаю(
0
igorrr37
1863 / 1481 / 749
Регистрация: 21.12.2010
Сообщений: 2,473
Записей в блоге: 11
25.08.2012, 09:30 #12
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
#include <iostream>
#include <iterator>
#include <sstream>
#include <set>
 
int main()
{
    std::size_t n;
    std::stringstream ss;
    std::set<char> set;
    while(true)
    {
        std::cout << "n = ";
        std::cin >> n;
        if(n > 999 && n < 1e4)
        {
            ss << n;
            set.insert((std::istreambuf_iterator<char>(ss.rdbuf())), std::istreambuf_iterator<char>());
            std::cout << std::boolalpha << (4 == set.size()) << '\n' << std::endl;
            set.clear();
        }
        else
        {
            std::cerr << "n must be greater 999 and less 1e4\n\n";
        }
    }
    std::cin.sync();
    std::cin.get();
    return 0;
}
0
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:49  [ТС] #13
(((((((((( - балин, те же ошибки, что в третьей проге....может чёт ни так в создании проекта?
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
25.08.2012, 09:52 #14
пересоздай проект для консоли
1
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:55  [ТС] #15
пасибо огромное = всё заработало!)))))
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.08.2012, 10:20 #16
Алгоритм проверки в одну строчку:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<math.h>
int check(int a, int *dig)
{
   return (a < 10) ? (++dig[a] == 1) : (++dig[a%10] == 1) && check(a/10, dig);
}
int main()
{
   int a, digits[10] = {0};
   scanf("%d", &a);
   printf("%s\n", check(abs(a), digits) ? "yes" : "no");
   return 0;
}
2
25.08.2012, 10:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2012, 10:20
Привет! Вот еще темы с решениями:

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу...

Дано натуральное число n, действительное число х. Вычислить sinx+sinx2+...+sinxn
Прошу помочь с 3-мя задачками очень нужно сдать а сделать никак не могу. 1)...

Дано натуральное число N. Получить новое число М, которое образуется из числа N
Дано натуральное число N. Получить новое число М, которое образуется из числа N...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru