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

Массив. Вывести на экран числа имеющие 2 одинаковые цифры - C++

Восстановить пароль Регистрация
 
reaktiv512
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 16
10.02.2014, 10:42     Массив. Вывести на экран числа имеющие 2 одинаковые цифры #1
Доброе время суток ГУРУ, профи, и прогеры. В массив вводять 4-х значьные числа, надо вывести на экран числа имеющие 2 одинаковые цифры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2014, 10:42     Массив. Вывести на экран числа имеющие 2 одинаковые цифры
Посмотрите здесь:

Вывести на экран все нечетные цифры целого положительного числа C++
C++ Вложенные циклы(Вывести на экран все четырехзначные числа, в которых ровно три одинаковые цифры)
C++ Переписать в одномерный массив элементы матриц А и В, имеющие одинаковые индексы
C++ Заданные две квадратные матрицы одинакового размера - А и В. Переписать в одномерный массив R те элементы матриц А и В, имеющие одинаковые индексы и
C++ Переписать в одномерный массив элементы матриц А и В, имеющие одинаковые индексы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
10.02.2014, 11:44     Массив. Вывести на экран числа имеющие 2 одинаковые цифры #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int n = 1231;
    int d = n;
    int count = 0;
    while(d){
        int t = d;
        while(t){
            if( t%10 == d%10 ){
                count++;
            } 
            t/=10;
        }
        if( count == 2 ){ 
            std::cout << n << std::endl;
            break;
        }
        else count = 0;
        
        d/=10;
    }
Добавлено через 22 минуты
reaktiv512, хотя... так будет лучше.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int n = 2132;
    int d = n;
    int count = 1;
    while(d){
        int t = d;
        t/=10;
        while(t){
            if( t%10 == d%10 ){
                count++;
            } 
            t/=10;
        }
        if( count == 2 ){ 
            std::cout << n << std::endl;
            break;
        }
        else count = 1;
        d/=10;
    }
Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
10.02.2014, 11:52     Массив. Вывести на экран числа имеющие 2 одинаковые цифры #3
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
74
75
76
77
78
79
80
#include <iostream>
#include <windows.h>
 
using namespace std;
 
std::ostream& operator<<(std::ostream& out, const char* str)
{
    char* s=new char[std::strlen(str)+1];
    AnsiToOem(str,s);
    return std::operator<<(out,s);
}
 
std::ostream& operator<<(std::ostream& out, std::string& str)
{
    return out<<str.c_str();
}
 
int main() {
    
    float value_1, value_2, value_3, value_4 = 0;
    cout << "Enter the numbers: " << endl;
    
    cin >> value_1;
    cin >> value_2;
    cin >> value_3;
    cin >> value_4;
    
    if(value_1 == value_2) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_1 << endl << value_2 << endl;
    }
    
    if(value_1 == value_3) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_1 << endl << value_3 << endl;
    }
    
    if(value_1 == value_4) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_1 << endl << value_4 << endl;
    }
    
    if(value_2 == value_1) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_2 << endl << value_1 << endl;
    }
    
    if(value_2 == value_3) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_2 << endl << value_3 << endl;
    }
    
    if(value_2 == value_4) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_2 << endl << value_4 << endl;
    }
    
    if(value_3 == value_1) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_3 << endl << value_1 << endl;
    }
    
    if(value_3 == value_2) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_3 << endl << value_2 << endl;
    }
    
    if(value_3 == value_4) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_3 << endl << value_4 << endl;
    }
    
    if(value_4 == value_3) {
    cout << "ÏîäîáГ*Г» ñëåäóþùèå Г·ГЁГ±Г«Г*: " << endl;
    cout << value_4 << endl << value_3 << endl;
    }
    
    system("pause");
    
}


Или вот так
можно было циклом, ну да ладно :3
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
10.02.2014, 12:08     Массив. Вывести на экран числа имеющие 2 одинаковые цифры #4
Esecman, во накодил
а если ввести 8888 ? Надо чтоб только 2 одинаковых были.
Yandex
Объявления
10.02.2014, 12:08     Массив. Вывести на экран числа имеющие 2 одинаковые цифры
Ответ Создать тему
Опции темы

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