Форум программистов, компьютерный форум, киберфорум
Наши страницы

Работа с числами в с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевести с С на С++ http://www.cyberforum.ru/cpp-beginners/thread223646.html
#include <iostream> void inversion(double **A, int N) { double temp; double **E = new double *; for (int i = 0; i < N; i++) E = new double ;
C++ ошибка при кодировании Вопрос такой ,программа должна переводить текст в код хэмминга и обратно. Указываю два файла (txt формата), откуда беру текст и куда ложить результат. например при кодировании слова "isakz" в другом... http://www.cyberforum.ru/cpp-beginners/thread223639.html
Подсчет количества предложений в текстовом файле C++
Сама задача:Подсчитать число предложений в заданном текстовом файле (текст на английском языке). Предложением считается последовательность символов, начинающихся с пробела и прописной буквы и...
C++ Ввод - вывод строк + пробелы
Ввести строку. Вывести в виде нескольких строк так, чтобы в каждой строке было по 4 слова, первое слово начиналось в 5-ой позиции, а последнее заканчивалось в 60-ой. Т.е. Перед первым выведенным...
C++ Быстрая сортировка http://www.cyberforum.ru/cpp-beginners/thread223621.html
Помоги мне ответить на вопросы,большая просьба,заранее спасибо Быстрая сортировка #include <iostream> using namespace std; int array; void Sort(int col)
C++ Бинарный поиск помоги мне плиз ответить на вопросы Бинарный поиск #include <iostream> using namespace std; int BinSearch(int *M, int n, int k); int main() подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.01.2011, 00:18
Вот, вроде работает
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
#include <iostream>
#include <algorithm>
#include <sstream>
#include <iterator>
#include <string>
#include <vector>
 
 bool cheking(int N)
{
    std::ostringstream ost;
    ost << N;
    std::string num_str = ost.str();
 
    bool key;
    std::string::iterator it, _it;
    size_t cnt = 0;
 
    for(it = num_str.begin(); it != num_str.end(); ++it)
    {
        key = true;
        for(_it = num_str.begin(); _it != num_str.end(); ++_it)
            if(it != _it && *it == *_it)
                key = false;
 
        if(key)
            ++cnt;
    }
 
    return cnt <= 10;
}
 
int main()
{
    int N, _N;
    std::cout << "\n\nN -> ";
    std::cin >> N;
 
     size_t cnt = 0;
    if(cheking(N))
    {
        _N = N;
        std::vector<int> vec;
        while(N)
        {
             vec.push_back(N % 10);
             N /= 10;
        }
 
        int num;
        std::sort(vec.begin(), vec.end());
        do
       {
           num = 0;
           for(size_t i = 0; i < vec.size(); ++i)
           {
               num += vec[i];
               num *= 10;
           }
           num /= 10;
           if(num > _N)
              ++cnt;
        }while(std::next_permutation(vec.begin(), vec.end()));
      }
      
      else
      {
          std::cerr << "Input error" << std::endl;
          return 1;
      }
 
    std::cout << "\n\nResult -> " << cnt << std::endl;
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru