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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wonderwall
0 / 0 / 0
Регистрация: 10.10.2013
Сообщений: 5
#1

Среди всех четырехзначных цифр определить число тех, у которых все цифры различны - C++

10.10.2013, 18:58. Просмотров 909. Ответов 10
Метки нет (Все метки)

Среди всех четырехзначных цифр определить число тех, у которых все цифры различны.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 18:58     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны
Посмотрите здесь:

Среди всех четырехзначных чисел получить все простые числа - C++
Среди всех четырехзначных чисел получить все простые числа, каждое из которых обладает тем свойством, что сумма первых двух цифр равна...

Нахождение всех четырехзначных натуральных чисел, в записи которых нет одинаковых цифр». - C++
разработать программу и подпрограмму (подпрограммы), выполняющие действия «Нахождение всех четырехзначных натуральных чисел, в записи...

Удалить из массива все элементы,в записи которых все цифры различны. - C++
Ребят,помогите задачу решить: в файле input.txt содержаться сведения о группе студентов в формате: номер группы; запись о каждом...

Найти все четырехзначные числа, у которых все цифры различны - C++
4)Найти все четырехзначные числа, у которых все цифры различны.

Найти все трехзначные числа, в которых все цифры различны. - C++
Помогите, пожалуйста, решить задачу в С++. Найти все трехзначные числа, удовлетворяющие условию: все цифры различны.

Найти все четырехзначные числа, у которых все цифры различны - C++
Найти все четырехзначные числа, у которых все цифры различны.

Удалить из массива элементы, в записи которых все цифры различны - C++
Удалить из массива элементы, в записи которых все цифры различны. (Желательно использовать вектора)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
10.10.2013, 19:16     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Wonderwall Посмотреть сообщение
четырехзначных цифр
Четырехзначные цифры это что-то из доказательства Перельмана гипотизы Пуанкаре?
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
10.10.2013, 20:14     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #3
Инициализируешь string как ---- , потом рандомом для , например moe_chislo = rand() 9999-8999 присваешь рандомное число, переводишь позначно int в стринг и if() ом проверяешь каждый символ в цикле.
for(){
if...
cout<< Да
else
Нет.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.10.2013, 20:19     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #4
Цитата Сообщение от Warezovvv Посмотреть сообщение
потом рандомом
Если "среди всех", тогда уж не рандомом, а от и до.
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
11.10.2013, 03:21     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #5
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
#include <iostream>
#include <algorithm>
 
// последняя комбинация служит стоп-сигналом, поэтому считаем с 1
// M - система счисления, N - число цифр, val - массив цифр числа
bool stop(const int N, const int* val, const int M)
{
    for (int i=0; i < M; i++)
        if (val[i] != N - 1 - i)
            return false;
    return true;
}
 
// функция возвращает истину если все цифры в числе разные
bool unique(const int* val, const int sz)
{
    // копируем наше число во временное
    int* tmp = new int[sz];
    for (int i=0; i < sz; i++)
        tmp[i] = val[i];
    // сортируем цифры временного числа
    std::sort(tmp, tmp + sz);
    bool onlyUniqueDigits = (std::unique(tmp, tmp + sz) == tmp + sz);
    delete[] tmp;
 
    return onlyUniqueDigits;
}
 
// M - система счисления, N - число цифр, val - массив цифр числа
void increment(const int M, int* val, const int N)
{
    val[N-1]++;
    for (int i = N-1; i > 0; i--)
        if (val[i] == M)
        {
            val[i - 1]++;
            val[i] -= M;
        }
}
 
void print(const int* arr, const int sz)
{
    for (int i=0; i < sz; i++)
        std::cout << arr[i];
    std::cout << std::endl;
}
 
 
int main()
{
    const int N = 10, M = 3;
    int val[M], counter = 1;
 
    // формируем начальное число
    for (int i=0; i < M; i++)
        val[i] = i;
    std::swap(val[0], val[1]); // меняем первые две цифры
 
    // пока не достигли последней комбинации
    while (!stop(N, val, M))
    {
        // если число уникально
        if (unique(val, M))
            counter++;
            //print(val, M);
        increment(N, val, M);
    }
    std::cout << "Counter: " << counter << std::endl;
}
без проверок на входные данные
Wonderwall
0 / 0 / 0
Регистрация: 10.10.2013
Сообщений: 5
11.10.2013, 14:12  [ТС]     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #6
примерно такого вида должно быть, но тут очень-очень много недочётов и не дописано еще. Но к сожалению не могу сообразить, что писать, ибо совсем новичок ещё

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_CTYPE,"russian");
    int a, b, c, d, n;
    do
    {
        cout << "Среди всех четырехзначных цифр число тех, у которых все цифры различны=";
    }
 while ((n>999)&&(n<10000));
  {
a=n/10;
b=a/10;
c=b/10;
d=c/10;
 
 
{
if((a!=b)&&(a!=c)&&(a!=d)&&(b!=c)&&(b!=d)&&(c!=d))
cout<< '\n';
}
return 0;
 }
}
Добавлено через 20 минут
нет, просто четырёхзначные цифры)
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
11.10.2013, 14:34     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #7
Тогда уж числа, а не цифры.
Wonderwall
0 / 0 / 0
Регистрация: 10.10.2013
Сообщений: 5
11.10.2013, 15:02  [ТС]     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #8
ну да :-[
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
11.10.2013, 17:04     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #9
Wonderwall, тогда в качестве решения частного случая совсем по простому так:
- в цикле от 1023 до 9876 (можете от 1000 до 9999)
- проверяете число (которое логично было бы сделать параметром цикла) на момент уникальности цифр. Для этого было бы лучше сделать функцию, но можно проверять и в теле цикла: (разбиваете число на цифры и пишете огромный if, сами уже во время реализации поймете, что это как-то по гуманитарному)
- и увеличиваете счетчик, если функция/условие вернет истину

Советую отдельно написать для начала функцию, которая принимает число (в частном случае четырехзначное, но лучше бы в общем) и разбивает его на цифры.
Wonderwall
0 / 0 / 0
Регистрация: 10.10.2013
Сообщений: 5
11.10.2013, 18:57  [ТС]     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #10
а вы не могли бы показать, как это делать. дело в том, что практически первый раз в жизни имею дело с с++, т.к. я первокурсница университета, а программирование было в 10 классе и то в бейсике, так что пока я полный 0 (
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2013, 00:26     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны
Еще ссылки по теме:

Подсчет натуральных чисел, в которых все три цифры различны - C++
Подсчитать количество натуральных чисел 102\leq n\leq 987 , в которых все три цифры различны. Как можно это сделать. Попроще, если можно,...

Найти трехзначные числа, все цифры которых различны и удовлетворяют условию - C++
найти трех значные числа abc , все цифры которых различны и удовлетворяют уравнению a^2-b^2-c^=a-b-c. загвозка в том что бы в файл ...

В промежутке от 103 до 1000 напечатать все трехзначные числа, цифры у которых различны - C++
Здравствуйте,помогите пожалуйста исправить программу,данная программа должна в промежутке от 103 до 1000 напечатать все трехзначные цифры...

Дано вещественное число в котором все цифры различны - C++
дано вещественное число в котором все цифры различны.определить порядковый номер его первой максимальной цифры 1)от конца числа 2)от...

Среди всех n-битных двоичных чисел указать количество тех, в двоичной записи которых нет k единиц подряд - C++
Помогите пожалуйста понять в чём ошибка! Задание такое: среди всех n-битных двоичных чисел указать количество тех, у которых в двоичной...


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
12.10.2013, 00:26     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()
{
    // govnokod
    int counter = 0;
    for (int i=1000; i < 10000; i++)
    {
        int a = i % 10;
        int b = (i % 100 - a) / 10;
        int c = (i % 1000 - b) / 100;
        int d = (i - c) / 1000;
        // govnokod^2
        if (!(a == b || a == c || a == d || b == c || b == d || c == d))
            counter++;
    }
    std::cout << "Counter: " << counter << std::endl;
}
Yandex
Объявления
12.10.2013, 00:26     Среди всех четырехзначных цифр определить число тех, у которых все цифры различны
Ответ Создать тему
Опции темы

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