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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Как узнать Handle или PID процесса, зная его имя и класс? http://www.cyberforum.ru/cpp-beginners/thread634006.html
Как узнать Handle или PID процесса, зная его имя и класс?
C++ Непонятное условие задачи Напишите перегруженные версии функции iquote(), которая отображает аргументы, заключенные в двойные кавычки. Напишите три версии: одну для аргумента типа int, другую для аргумента типа double и третью для аргумента типа string. Я сначала вот так подумал сделать. void iquote(const int n); void iquote(const double n); void iquote(const string n); Или вот так: void iquote(const char... http://www.cyberforum.ru/cpp-beginners/thread633999.html
C++ Объявление заголовочных файлов
Скажите в чем разница между объявлением вида: #include <iostream> и вида #include "iostream"
C++ Перегрузка [][]
Возможно ли для данного класса обеспечить перегрузку жвойных скобок с тем, чтобы в программе можно было использовать выражения типа: MyClass
C++ Закрытия MessageBox http://www.cyberforum.ru/cpp-beginners/thread633875.html
Добрый день как программно можно закрыть окно MessageBox без нажатия кнопки OK
C++ motion blur Здравствуйте. Моя задача состоит в том, чтоб реализовать эффект motion blur по любой заданной пользователем траектории. Вопрос следующий - как задавать ядро свёртки? Пока получается криво даже для вектора 45 градусов. Возможно, посоветуете какую-то литературу, как работать с коеффициентами ядра? подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
07.08.2012, 10:39     Подсчитать количество различных цифр в десятичной записи натурального числа
Вариант 1 решения задачи 3.2:
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
#include <stdio.h>
#include <conio.h>
 
int main()
{
    long value = 329784849;
 
    int i = 0;
    int* digits = new int[32]; 
    for (; value > 0; value/=10)
        digits[i++] = value % 10;
 
    int diff = 0;
    for (int r = i-1; r >= 0; r--)
    {
        int count = 0;
        for (int n = 0; n < i-1; n++)
            if (digits[n] == digits[r])
                count++;
 
        if (count <= 1) 
        {
            printf("%d ",digits[r]);
            diff++;
        }
    }
 
    printf("\ndifferent digits = %d\n",diff);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/f3c9ee...b033df76cd45bf

Вариант 2 решения задачи 3.2
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
#include <stdio.h>
#include <conio.h>
 
int main()
{
    char sv[] = "329784849";
 
    int* digits = new int[10];
    for (int i = 0; sv[i] != '\0'; i++)
    {
        int count = 0;
        for (int k = i; sv[k] != '\0'; k++)
            if (sv[k] == sv[i]) count++;
 
        if (digits[sv[i] - '0'] <= 0)
            digits[sv[i] - '0'] = count;
    }
 
    int count = 0;
    for (int i = 0; i < 10; i++)
        if (digits[i] == 1)
        {
            printf("%d - %d\n",i,digits[i]);
            count++;
        }
 
    printf("\ndifferent digits = %d\n",count);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/0ac783...e7b3c40bc3bcc0
 
Текущее время: 09:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru