Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
24.08.2012, 06:30     Дано Натуральное число N(N<10000) #1
Определить, верно ли, что все 4 цифры этого числа различны, как, например, у чисел 1234, 0541.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2012, 06:30     Дано Натуральное число N(N<10000)
Посмотрите здесь:

C++ Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a
Найти натуральное число от 1 до 10000 с максимальной суммой делителей. C++
C++ Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной записи m изменением порядка цифр на обратный (
Пользователь вводит с клавиатуры натуральное число меньшее 10000 C++
Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
24.08.2012, 07:52     Дано Натуральное число N(N<10000) #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
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
24.08.2012, 09:37     Дано Натуральное число N(N<10000) #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/7c6756...e6714261b05541
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 08:50  [ТС]     Дано Натуральное число N(N<10000) #4
ни одна из программ не подходит, т.к. программы должны работать в Microsofo Visual Studio, а она выдаёт ошибки(
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
25.08.2012, 09:05     Дано Натуральное число N(N<10000) #5
Какие ошибки?
cojuer
0 / 0 / 0
Регистрация: 27.07.2012
Сообщений: 5
25.08.2012, 09:18     Дано Натуральное число N(N<10000) #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.
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:19  [ТС]     Дано Натуральное число N(N<10000) #7
Ошибка 1: error C2668: std::to_string: неоднозначный вызов перегруженной функции
2: IntelliSense: существует более одного экземпляра перегруженная функция "std::to_string", соответствующего списку аргументов. - это для первой программы.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
25.08.2012, 09:20     Дано Натуральное число N(N<10000) #8
Цитата Сообщение от Uroranger Посмотреть сообщение
ни одна из программ не подходит,
а, Вы , батенька, Хам
Цитата Сообщение от Uroranger Посмотреть сообщение
программы должны работать в Microsofo Visual Studio
Нужно так делай

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

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

Добавлено через 1 минуту
я создал пустой проект и всё....а почему он выдаёт такую ошибку - я непонимаю(
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
25.08.2012, 09:30     Дано Натуральное число N(N<10000) #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;
}
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:49  [ТС]     Дано Натуральное число N(N<10000) #13
(((((((((( - балин, те же ошибки, что в третьей проге....может чёт ни так в создании проекта?
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
25.08.2012, 09:52     Дано Натуральное число N(N<10000) #14
пересоздай проект для консоли
Uroranger
0 / 0 / 0
Регистрация: 23.08.2012
Сообщений: 7
25.08.2012, 09:55  [ТС]     Дано Натуральное число N(N<10000) #15
пасибо огромное = всё заработало!)))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2012, 10:20     Дано Натуральное число N(N<10000)
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.08.2012, 10:20     Дано Натуральное число N(N<10000) #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;
}
Yandex
Объявления
25.08.2012, 10:20     Дано Натуральное число N(N<10000)
Ответ Создать тему
Опции темы

Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru