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

Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
apple.vfkn2h
2 / 2 / 0
Регистрация: 25.04.2012
Сообщений: 9
25.04.2012, 13:08     Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры #1
Помогите пожалуйста с решением очень надо.))) С++

Добавлено через 44 минуты
Парни выручайте... осталось 30 минут((( срочно нужно, а то отчисление грозит

Добавлено через 21 минуту
Цитата Сообщение от apple.vfkn2h Посмотреть сообщение
Помогите пожалуйста с решением очень надо.))) С++

Добавлено через 44 минуты
Парни выручайте... осталось 30 минут((( срочно нужно, а то отчисление грозит
Парни, разобрался сам и предоставляю свое рабочее решение)))

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
#include<math.h>
int Check(long a)
{
   long b = abs(a);
   int digits[10] = {0}, i;
   while (b)
   {
      digits[b%10]++;
      b /= 10;
   }
   i = -1;
   while(++i < 10 && digits[i] <= 2)
      ;
   return i < 10;
}
int main()
{
   long a;
   scanf("%ld", &a);
   printf("%s\n", Check(a) ? "yes" : "no");
      return 0;
}
Теперь осталось соорудить блок-схему)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2012, 13:08     Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры
Посмотрите здесь:

Верно ли, что число содержит ровно три одинаковые цифры? C++
дано натуральное число <=9999 верно ли что оно содержит три одинаковых цифры C++
C++ Дано натуральное число n (n <= 9999). Учитывая все четыре цифры числа, определить, правильно, что оно содержит: все разные цифры
C++ Содержит ли число 3 одинаковых цифры
C++ Дано натуральное четырехзначное число n.верно ли что это число содержит три одинаковые цифры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
25.04.2012, 13:15     Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <map>
 
int main()
{
   int value = 2881122;
   std::map<int, int> map;
   for (int val = value; val; val /= 10)
   {
      ++map[val % 10];
   }
   int cnt = 0;
   for (std::map<int, int>::iterator iter = map.begin(); iter != map.end(); ++iter)
   {
      if (iter->second == 3)
      {
         ++cnt;
      }
   }
   std::cout << (cnt == 1 ? "yes" : "no") << std::endl;
}
http://liveworkspace.org/code/be76d8...eaf3c809ab3240
-=ЮрА=-
Заблокирован
Автор FAQ
25.04.2012, 16:14     Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры #3
apple.vfkn2h, я бы сделал вот так
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 <iostream>
using namespace std;
 
int getCountOfNum(int num, int dig)
{
    int count = 0;
    do
    {
        if(dig == num%10)
            count++;
    }
    while( 0 < (num /= 10));
    return count;
}
 
int main()
{
    int count, num;
    cout<<"Enter number : ";
    if(!(cin>>num))
        cout<<"Input error\n";
    else
    {
        do
        {
            if((count = getCountOfNum(num, num%10)) == 3)
                cout<<"Number "<<num%10<<" count : "<<count<<endl;
        }
        while(0 < (num /= 10));
    }
    system("pause");
    return 0;
}
Миниатюры
Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры  
apple.vfkn2h
2 / 2 / 0
Регистрация: 25.04.2012
Сообщений: 9
25.04.2012, 19:40  [ТС]     Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры #4
-=ЮрА=-, cпасибо большое))) но суть в том что препод задает решать в терминале под ОС Linux... А так еще раз спасибо))) -=ЮрА=-, еще бы блок-схемку и было бы просто замечательно)))
Yandex
Объявления
25.04.2012, 19:40     Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры
Ответ Создать тему
Опции темы

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