Премини към съдържанието
Kristian Panov

C++ Най-често срещана комбинация

    Препоръчан отговор


    Здравейте!
    Искам помощ със еднин проблем.
    Ето това е кодът: 

     

    #include <fstream>
    #include <iostream>
    #include <windows.h>
    #include <string>
    #include <stdio.h>
    #include <stdlib.h>
    #include <ctime>
    #include <cstdlib>
    #include <vector>
    #include <algorithm>
    #include <math.h>
    using namespace std;

    void setcolor(unsigned short color)
    {
        HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hcon,color);
    }

    static void getSix (int *dst)
    {
        int sz, pos, i, src[47];
        for (i = 0; i < sizeof(src) / sizeof(*src); i++)
            src = i + 1;
        sz = 47;
        for (i = 0; i < 6; i++)
        {
            pos = rand() % sz;
            dst = src[pos];
            src[pos] = src[sz - 1];
            sz--;
        }
    }

    int main()
    {

        system("title LotteryWin");

        ofstream myfile("Data.dat", ios::app);
        string date;
        string line;

        int choice;
        cout << "1.Generate Ticket Numbers" << endl;
        cout << "2.List Previous Ticket Numbers" << endl;
        cout << "3.Most Common Winning Numbers" << endl;
        cout << "4.Enter Winning Numbers" << endl;
        cout << "5.Exit" << endl << endl;
        cout << "Please, enter your choice: ";
        cin >> choice;

        if(choice == 1)
        {
            system("cls");

            cout << "Please, enter the date." << endl;
            cout << "Date: ";
            cin.clear();
            cin.ignore(0xffff, '\n');
            getline(cin, date);

            system("cls");

            srand (time (NULL));
            int i, numbers[6];
            getSix (numbers);

            setcolor(10);
            cout << "Numbers are:" << endl;
            setcolor(7);

            for (i = 0; i < sizeof(numbers) / sizeof(*numbers); i++)
            {
                cout << numbers << " ";
            }

            myfile << "[" << date << "]" << "\n";
            myfile << "Numbers: ";
            for (i = 0; i < 6; i++) myfile << numbers << " ";
            myfile << "\n";
            myfile << "------------------------------" << "\n";
            myfile.close();
        }
        if(choice == 2)
        {

            system("cls");
            setcolor(15);

            ifstream myfile ("Data.dat");
            if(myfile.is_open())
            {
                while(getline(myfile, line))
                {
                    cout << line << '\n';
                }
                myfile.close();
            }
            else
            {

                setcolor(12);
                cout << "Unable to open file";

            }


        }
        if(choice == 3)
        {

            system("cls");
            ifstream in("AllWinningNumbers.dat");

            if(!in)
            {
                cerr << "Could not open file";
                return EXIT_FAILURE;
            }

            string str, str2, strn, tab[10000], tab2[10000];
            int i, k, j, n, l, tabl;
            char c = 179;
            vector<int> tabs;
            vector<string> stringi;

            while(getline(in, str2))
            {
                str += str2;
                str += ' ';
            }
            k = 0;
            for(i = 0; i < str.length(); i++)
            {
                if(str != ' ' && str != '.' && str != '\t' && str != ','
                        && str != ';' && str != ':' && str != '}' && str != '{')
                {
                    tab[k] += tolower(str);
                }
                else
                {
                    k++;
                }
                if(str == '.' || str == '\t' || str == ',' || str == ';'
                        || str == ':' || str == '}' || str == '{')
                {
                    k--;
                }
            }
            tabl = k;

            k = 0;
            for(i = 0; i < tabl; i++)
            {
                for(j = 0; j < tabl; j++)
                {
                    if(tab == tab[j])
                    {
                        k++;
                    }
                }
                tabs.push_back(k);
                k = 0;
            }
            for(i = 0; i < tabl; i++)
            {
                for(j = 0; j < tabl-1; j++)
                {
                    if(tab[j] < tab[j+1])
                    {
                        n = tabs.at(j);
                        tabs.at(j) = tabs.at(j+1);
                        tabs.at(j+1) = n;
                        strn = tab[j];
                        tab[j] = tab[j+1];
                        tab[j+1] = strn;
                    }
                }
            }
            for(i = 0; i < tabl; i++)
            {
                for(j = 0; j < tabl-1; j++)
                {
                    if(tabs.at(j) < tabs.at(j+1))
                    {
                        n = tabs.at(j);
                        tabs.at(j) = tabs.at(j+1);
                        tabs.at(j+1) = n;
                        strn = tab[j];
                        tab[j] = tab[j+1];
                        tab[j+1] = strn;
                    }
                }
            }
            tab2[0] = tab[0];
            for(i = 0; i < tabl; i++)
            {
                if(tab != tab[i+1])
                {
                    tab2 = tab[i+1];
                }
            }
            k = 1;
            l++;
            for(i = 0; i < tabl; i++)
            {
                if(!tab2.empty())
                {
                    l++;
                }
            }
            cout << "------------------------------------" << endl;
            cout << "|--->TABLE OF MOST COMMON NUMBERS<---|" << endl;
            cout << "------------------------------------" << endl;
            for(i = 0; i < tabl; i++)
            {
                if(!tab2.empty() && k <= 25 )
                {
                    cout << c << k++ << "." << '\t' << c << tab2 << '\t' << c << "*" <<
                         tabs.at(i+1)
                         << '\t'  << c << roundf(((float)tabs.at(i+1)*100/l)*100)/100 << "%" <<
                         endl;
                }
            }

        }

        if(choice == 4)
        {

            system("cls");
            ofstream out("AllWinningNumbers.dat", ios::app);

            int wN1, wN2, wN3, wN4, wN5, wN6;

            cout << "Winning Numbers:" << endl;
            cin >> wN1 >> wN2 >> wN3 >> wN4 >> wN5 >> wN6;

            out << wN1 << "\n";
            out << wN2 << "\n";
            out << wN3 << "\n";
            out << wN4 << "\n";
            out << wN5 << "\n";
            out << wN6 << "\n";
            out.close();
            return 0;

        }
        if(choice == 5)
        {

            return 0;

        }

        system("pause > nul");
        return 0;
    }


    Та идеята ми е, да се намира най-често срещана комбинация от числа, като числата са 6.
    Абе имам предвид следното:
    Въвеждаш:
     

    9, 30, 31, 37,  46, 47

    9, 21, 28, 43, 46, 47

     

    И да ти изведе: 9, 46, 47


    И тн.
    Тоест от еди еди колко си комбинации от числа, като числата във всякак комбинация са 6,
    да изведе най-често срещаната комбинация от числа.

    Редактирано от Kristian Panov (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Прави се с масив. Ако числата са от 1 до 47, може да направиш броенето с масив от 48 елемента като не ползваш нулевия индекс за удобство.

    Когато изследваш входните данни, ползваш всяко зададено число, като индекс към този масив, като увеличаваш съответната позиция в масива с 1.

    Накрая ще имаш за всеки индекс от масива стойност равна на честотата на случване на числото на индекса във въведените комбинации.

    Хеш таблица, ама без хеш функция. Самото число си е хеш функция.

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    преди 3 минути, Реджеп Иведик написа:

    Прави се с масив. Ако числата са от 1 до 47, може да направиш броенето с масив от 48 елемента като не ползваш нулевия индекс за удобство.

    Когато изследваш входните данни, ползваш всяко зададено число, като индекс към този масив, като увеличаваш съответната позиция в масива с 1.

    Накрая ще имаш за всеки индекс от масива стойност равна на честотата на случване на числото на индекса във въведените комбинации.

    Хеш таблица, ама без хеш функция. Самото число си е хеш функция.

    Ще дадеш ли накакъв пример, че не разбирам.

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    int a[48];
    for (i = 1; i < 48; i++) a[i] = 0;
    .........
    .........
    В цикъла дето изброяваш случилите се числа е необходим само следния ред
    Ако да речем като ги изброяваш ги вкарваш в променливата "x"
    a[x]++;

     

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    току-що, Реджеп Иведик написа:
    
    int a[48];
    for (i = 1; i < 48; i++) a[i] = 0;
    .........
    .........
    В цикъла дето изброяваш случилите се числа е необходим само следния ред
    Ако да речем като ги изброяваш ги вкарваш в променливата "x"
    a[x]++;

     

    Ама защо печаташ 47 числа?

     


    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Май трябва да поясня.
    Програмата си генерира едни 6 случайни числа, но това нас не ни бърка.
    Имам предвид, като отидеш на  cout << "4.Enter Winning Numbers" << endl;

    Ти въвеждаш едни 6 числа.
    И ще има опция "View Most Common Combinations"
    И това ще ти извежда най-често срещаните комбинации, а като въвеждаш ти 6-те числа, те се записват във един файл.

    Оф чакай, да бе, извинявай, схванах.
    Само че, там дето ги изброявам не го направих с цикъл а по мързелиявия начин:

    system("cls");
            ofstream out("AllWinningNumbers.dat", ios::app);

            int wN1, wN2, wN3, wN4, wN5, wN6;

            cout << "Winning Numbers:" << endl;
            cin >> wN1 >> wN2 >> wN3 >> wN4 >> wN5 >> wN6;

            out << wN1 << "\n";
            out << wN2 << "\n";
            out << wN3 << "\n";
            out << wN4 << "\n";
            out << wN5 << "\n";
            out << wN6 << "\n";
            out.close();
            return 0;

    Но е така, защото искам да е по един по-специфичен начин, но няма значение.

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Най често срещаните комбинации не е смислено. Те са безброй. Я се случат две еднакви, я не. Пък и ти си показал да се извеждат най често случилите се числа.

    Това става най лесно чрез масив от 48 елемента, който първо трябва да нулираш.

    Изброяването е много просто. Само един ред вътре в цикъла за изброяване. Написал съм ти го.

    Накрая, в зависимост от това, колко от най често случилите се числа искаш да изведеш, извеждаш индексите на първите толкова най големи числа от масива.

    Редактирано от Реджеп Иведик (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    преди 16 минути, Реджеп Иведик написа:

    Най често срещаните комбинации не е смислено. Те са безброй. Я се случат две еднакви, я не. Пък и ти си показал да се извеждат най често случилите се числа.

    Това става най лесно чрез масив от 48 елемента, който първо трябва да нулираш.

    Изброяването е много просто. Само един ред вътре в цикъла за изброяване. Написал съм ти го.

    Накрая, в зависимост от това, колко от най често случилите се числа искаш да изведеш, извеждаш индексите на първите толкова най големи числа от масива.

    Чакай, чакай, май не говорим за едно и също.
    Виж за пример :  3.Most Common Winning Numbers" << endl;
    А първо си сложи този файл. там където ти се намира еxe-то на програмата.
    Файлът е със числа.
    И от тях ти показва най-често срещаните.
    Та, искам да се получи същото:
    Да си чете от файл комбинациите, като всяка комбинация е на нов ред, комбинацията е от по 6 числа, разделени без запетайки а със спейсове.
    И като ги чете, да извежда най-често срещаните комбинации от числа.
    ПРИМЕР :

    Въвежда се:

    1-ва комбинация: 12, 33, 42, 44, 45, 46

    2-ра комбинация: 9, 33, 35, 38, 44, 46

    3-та комбинация: 9, 13,  34, 35, 38, 46

     

    И да ти извежда:

    Най-често срещани комбинации:
     

    1| 33, 44, 46

    2|  9, 35, 38, 46

    И тн.

     

    AllWinningNumbers.dat

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    За най често срещани отделни числа, става така както съм ти написал. Можеш да ми вярваш, аз програмирането съм го измислил.

    Обаче за най често срещани комбинации от по три или четири числа, освен за брут форс за друго не се сещам. Не съм го измислил чак толкоз.

    • Харесва ми 1

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    три и повече числа брут форс ще е доста грозна гледка. Комбинации от две числа не толкова. За 509 тиража

    от 1.април.2015 до 22.август.2016 - има комбинации като 1,7 които се срещат само един път, а други са над 10 пъти

     1  2  6   1  3  6   1  4  4   1  5  5   1  6  7   1  7  1   1  8 10   1  9  5
     1 10  7   1 11  8   1 12  4   1 13  3   1 14  9   1 15  5   1 16  7   1 17  8
     1 18  1   1 19  6   1 20  7   1 21  5   1 22  4   1 23  9   1 24  8   1 25  7
     1 26  6   1 27  4   1 28  7   1 29  8   1 30  6   1 31  4   1 32  9   1 33  5
     1 34 10   1 35  6   1 36  4   1 37  5   1 38  3   1 39  4   1 40  3   1 41  7
     1 42  7   1 43  6   1 44  6   1 45 10   1 46 10   1 47  8   2  3  4   2  4  4
     2  5  7   2  6  5   2  7  1   2  8  4   2  9  5   2 10  5   2 11 10   2 12  4
     2 13  5   2 14  8   2 15  3   2 16  8   2 17 10   2 18  3   2 19  5   2 20 10
     2 21  4   2 22  4   2 23  5   2 24  9   2 25  5   2 26 10   2 27  6   2 28  7
     2 29  7   2 30  8   2 31  8   2 32  4   2 33  2   2 34  6   2 35 12   2 36  6
     2 37  4   2 38  6   2 39  2   2 40  7   2 41  5   2 42 10   2 43  5   2 44  1
     2 45  9   2 46  9   2 47  7   3  4  9   3  5  7   3  6  7   3  7  8   3  8  8
     3  9  9   3 10  9   3 11  3   3 12  9   3 13  7   3 14  9   3 15  4   3 16  9
     3 17  5   3 18  7   3 19  5   3 20 12   3 21  7   3 22  9   3 23  6   3 24 10
     3 25  5   3 26 13   3 27  5   3 28  6   3 29  8   3 30  8   3 31  7   3 32  4
     3 33  4   3 34 10   3 35 10   3 36  6   3 37 10   3 38  6   3 39  8   3 40  7
     3 41  4   3 42 12   3 43 13   3 44  6   3 45  5   3 46  4   3 47 10   4  5  5
     4  6  7   4  7 10   4  8 10   4  9  2   4 10  7   4 11  7   4 12  6   4 13  7
     4 14  6   4 15 11   4 16  6   4 17  6   4 18  7   4 19  7   4 20  6   4 21 10
     4 22  9   4 23 11   4 24  4   4 25  5   4 26  8   4 27  6   4 28  5   4 29  8
     4 30  3   4 31  6   4 32  5   4 33  7   4 34  8   4 35  6   4 36  9   4 37 11
     4 38  8   4 39  9   4 40  8   4 41  3   4 42 11   4 43  6   4 44  6   4 45 10
     4 46  5   4 47  6   5  6  9   5  7  6   5  8  6   5  9  9   5 10  4   5 11  9
     5 12  3   5 13  5   5 14  6   5 15  8   5 16  4   5 17  4   5 18  6   5 19  6
     5 20  6   5 21  5   5 22  4   5 23  5   5 24  9   5 25  2   5 26  8   5 27  6
     5 28  7   5 29 13   5 30  8   5 31  5   5 32  7   5 33  6   5 34  5   5 35  3
     5 36  8   5 37 10   5 38 10   5 39 13   5 40 10   5 41  4   5 42  7   5 43  7
     5 44  7   5 45  9   5 46 10   5 47  7   6  7  5   6  8  8   6  9  7   6 10  5
     6 11  7   6 12  1   6 13  7   6 14  8   6 15  6   6 16  6   6 17  3   6 18  7
     6 19  6   6 20  1   6 21  5   6 22  6   6 23  2   6 24  4   6 25 10   6 26  3
     6 27  6   6 28 12   6 29  7   6 30  5   6 31  9   6 32  6   6 33  2   6 34  9
     6 35  8   6 36  5   6 37  4   6 38  8   6 39  5   6 40  4   6 41  8   6 42 13
     6 43  5   6 44  8   6 45 12   6 46  6   6 47  6   7  8  8   7  9 10   7 10  8
     7 11  1   7 12  6   7 13  4   7 14  6   7 15  4   7 16  4   7 17  5   7 18 14
     7 19  3   7 20  3   7 21  5   7 22 11   7 23  9   7 24 10   7 25  5   7 26  7
     7 27  9   7 28  4   7 29  6   7 30  5   7 31  7   7 32  5   7 33  2   7 34  7
     7 35  6   7 36 11   7 37 14   7 38 11   7 39 10   7 40 12   7 41  7   7 42 10
     7 43 10   7 44  8   7 45  6   7 46 10   7 47 11   8  9  7   8 10 11   8 11  3
     8 12  9   8 13  8   8 14 12   8 15  6   8 16  9   8 17 10   8 18 10   8 19  9
     8 20  6   8 21  7   8 22 10   8 23  6   8 24  7   8 25  6   8 26  4   8 27  8
     8 28 11   8 29 12   8 30  6   8 31  6   8 32  7   8 33  7   8 34  6   8 35 11
     8 36  7   8 37 14   8 38  6   8 39  7   8 40  5   8 41  4   8 42 12   8 43 11
     8 44  9   8 45 12   8 46 11   8 47  9   9 10  8   9 11  3   9 12  6   9 13  5
     9 14  8   9 15  6   9 16  8   9 17  6   9 18  8   9 19  6   9 20  3   9 21  9
     9 22  7   9 23  1   9 24  6   9 25  8   9 26  8   9 27  9   9 28  7   9 29  8
     9 30 10   9 31  6   9 32  8   9 33  4   9 34  6   9 35  7   9 36 11   9 37 14
     9 38  8   9 39  8   9 40  6   9 41  5   9 42  8   9 43 12   9 44 10   9 45  6
     9 46 10   9 47  7  10 11  4  10 12  5  10 13  4  10 14  5  10 15  9  10 16  7
    10 17 10  10 18  8  10 19  7  10 20  6  10 21 10  10 22  6  10 23  6  10 24  6
    10 25  7  10 26  6  10 27  3  10 28  8  10 29  5  10 30  8  10 31 11  10 32  5
    10 33  8  10 34  4  10 35  9  10 36  8  10 37  6  10 38  8  10 39 13  10 40  5
    10 41  5  10 42 10  10 43  6  10 44  8  10 45 10  10 46 14  10 47 11  11 12  4
    11 13 11  11 14 11  11 15  7  11 16 10  11 17  6  11 18  3  11 19 12  11 20  7
    11 21 16  11 22  4  11 23  6  11 24  4  11 25  8  11 26 11  11 27  7  11 28  8
    11 29 10  11 30  6  11 31 12  11 32  6  11 33  8  11 34  8  11 35 11  11 36  5
    11 37  6  11 38  9  11 39  9  11 40  8  11 41  4  11 42  3  11 43  9  11 44  4
    11 45  7  11 46  6  11 47  4  12 13  8  12 14  7  12 15  6  12 16  7  12 17  7
    12 18  8  12 19  3  12 20  4  12 21  4  12 22  9  12 23  9  12 24  5  12 25  4
    12 26  7  12 27  7  12 28  5  12 29  4  12 30 10  12 31  4  12 32  4  12 33  6
    12 34  5  12 35  8  12 36  8  12 37  6  12 38  4  12 39  9  12 40  6  12 41  9
    12 42  4  12 43  9  12 44  9  12 45 11  12 46 10  12 47  7  13 14 10  13 15  4
    13 16  6  13 17  2  13 18  4  13 19 11  13 20  5  13 21  7  13 22  9  13 23  5
    13 24 10  13 25  6  13 26  7  13 27  9  13 28  7  13 29 10  13 30  7  13 31  6
    13 32  3  13 33  3  13 34  6  13 35  9  13 36  8  13 37 11  13 38  7  13 39  4
    13 40  4  13 41  7  13 42  9  13 43  5  13 44  8  13 45  8  13 46  5  13 47  4
    14 15  7  14 16  8  14 17  4  14 18  7  14 19  7  14 20  5  14 21  9  14 22 13
    14 23  7  14 24  5  14 25  9  14 26 12  14 27 11  14 28  4  14 29 12  14 30 10
    14 31  6  14 32  2  14 33  6  14 34  4  14 35 10  14 36  7  14 37  6  14 38  9
    14 39  9  14 40  9  14 41  6  14 42 16  14 43  8  14 44  8  14 45 10  14 46  8
    14 47  6  15 16  6  15 17  5  15 18  8  15 19  2  15 20  6  15 21 10  15 22  9
    15 23  2  15 24  3  15 25  9  15 26  9  15 27  9  15 28 10  15 29  4  15 30  6
    15 31  8  15 32  9  15 33  5  15 34  7  15 35  8  15 36 11  15 37  7  15 38  4
    15 39  5  15 40  5  15 41  5  15 42  7  15 43  9  15 44 13  15 45  6  15 46  9
    15 47  3  16 17  6  16 18  4  16 19  6  16 20  4  16 21 10  16 22  5  16 23  3
    16 24  9  16 25  8  16 26  6  16 27  6  16 28  6  16 29  9  16 30  5  16 31 10
    16 32  6  16 33  4  16 34 10  16 35  9  16 36  3  16 37 13  16 38  7  16 39  5
    16 40  7  16 41  8  16 42 10  16 43  9  16 44  8  16 45  7  16 46  7  16 47  5
    17 18  5  17 19  6  17 20  6  17 21  8  17 22  8  17 23  6  17 24  3  17 25  7
    17 26  7  17 27  3  17 28  7  17 29  4  17 30  3  17 31 11  17 32 10  17 33  3
    17 34  7  17 35  7  17 36  6  17 37  7  17 38  7  17 39  2  17 40  3  17 41  6
    17 42  7  17 43  8  17 44 10  17 45  4  17 46  9  17 47  8  18 19  2  18 20  2
    18 21  5  18 22 14  18 23  5  18 24  2  18 25  6  18 26 10  18 27  7  18 28  7
    18 29  0  18 30  5  18 31  7  18 32  6  18 33  2  18 34  3  18 35  7  18 36 12
    18 37  9  18 38  7  18 39  6  18 40  6  18 41  8  18 42 10  18 43 11  18 44 11
    18 45  9  18 46  9  18 47  7  19 20  4  19 21  9  19 22  6  19 23  6  19 24  3
    19 25  4  19 26  7  19 27  3  19 28  7  19 29  7  19 30  7  19 31  8  19 32  8
    19 33  5  19 34  3  19 35 10  19 36  5  19 37  5  19 38  6  19 39  7  19 40  5
    19 41  5  19 42  6  19 43  2  19 44  7  19 45 11  19 46 10  19 47 10  20 21  8
    20 22  3  20 23  3  20 24  7  20 25  4  20 26  9  20 27  4  20 28  6  20 29  7
    20 30  3  20 31  2  20 32  4  20 33  2  20 34  6  20 35  5  20 36  8  20 37  9
    20 38  4  20 39  6  20 40  7  20 41  7  20 42  7  20 43  5  20 44  5  20 45  9
    20 46  7  20 47  5  21 22  3  21 23  8  21 24  6  21 25 12  21 26  9  21 27 15
    21 28 10  21 29 11  21 30  9  21 31  9  21 32 11  21 33  8  21 34 10  21 35 11
    21 36  6  21 37  8  21 38  9  21 39  5  21 40  8  21 41  6  21 42  6  21 43 14
    21 44 13  21 45  8  21 46  6  21 47  6  22 23  4  22 24  4  22 25  9  22 26  6
    22 27  6  22 28  3  22 29  7  22 30  9  22 31  4  22 32 12  22 33  6  22 34  8
    22 35  6  22 36 10  22 37  9  22 38  8  22 39  8  22 40  3  22 41  7  22 42  5
    22 43  4  22 44  7  22 45  9  22 46  4  22 47  9  23 24  8  23 25  8  23 26  8
    23 27  5  23 28  6  23 29  5  23 30  8  23 31  4  23 32  6  23 33  3  23 34  5
    23 35 11  23 36  3  23 37  8  23 38  3  23 39  8  23 40  8  23 41  5  23 42  7
    23 43  9  23 44  5  23 45  9  23 46 12  23 47  7  24 25  5  24 26 10  24 27  5
    24 28  3  24 29  5  24 30  4  24 31  5  24 32  4  24 33  4  24 34  7  24 35 13
    24 36  4  24 37  7  24 38  4  24 39  8  24 40  6  24 41  6  24 42 14  24 43  9
    24 44  6  24 45  7  24 46  6  24 47 11  25 26  4  25 27  3  25 28  6  25 29  8
    25 30  8  25 31  8  25 32  9  25 33  5  25 34 12  25 35  9  25 36  7  25 37 10
    25 38  7  25 39  5  25 40  4  25 41  8  25 42 10  25 43  6  25 44  8  25 45  9
    25 46  8  25 47  7  26 27  7  26 28  5  26 29  7  26 30 10  26 31  8  26 32  5
    26 33  6  26 34  7  26 35 10  26 36 10  26 37  8  26 38 12  26 39 10  26 40  8
    26 41  3  26 42 12  26 43 12  26 44  5  26 45  3  26 46  5  26 47  2  27 28  4
    27 29  7  27 30  7  27 31  5  27 32  5  27 33  7  27 34  8  27 35  9  27 36 10
    27 37 10  27 38 11  27 39  5  27 40  5  27 41  7  27 42  7  27 43  5  27 44  7
    27 45  7  27 46 10  27 47  5  28 29  8  28 30  8  28 31  7  28 32  8  28 33  4
    28 34  6  28 35  3  28 36  4  28 37  9  28 38  2  28 39  6  28 40  5  28 41  7
    28 42  5  28 43  9  28 44  9  28 45  8  28 46 10  28 47  4  29 30  8  29 31 12
    29 32  6  29 33 12  29 34  9  29 35  5  29 36  6  29 37  6  29 38 11  29 39  9
    29 40  9  29 41  0  29 42  4  29 43 12  29 44 12  29 45 11  29 46 11  29 47 10
    30 31  8  30 32  4  30 33  6  30 34  9  30 35  5  30 36  9  30 37  7  30 38 12
    30 39  9  30 40  5  30 41 11  30 42 10  30 43  9  30 44  7  30 45 11  30 46 15
    30 47  3  31 32  4  31 33  0  31 34  4  31 35  7  31 36  4  31 37  8  31 38  8
    31 39  4  31 40 10  31 41  7  31 42  8  31 43  3  31 44  9  31 45  7  31 46  6
    31 47  8  32 33  7  32 34 11  32 35  7  32 36  8  32 37  6  32 38  5  32 39  6
    32 40  3  32 41  5  32 42  5  32 43  5  32 44  7  32 45  5  32 46  8  32 47  5
    33 34  8  33 35 11  33 36  9  33 37  4  33 38  8  33 39  6  33 40  5  33 41  3
    33 42  5  33 43  9  33 44  4  33 45  6  33 46  5  33 47  8  34 35  4  34 36 10
    34 37 17  34 38  7  34 39  6  34 40  6  34 41 12  34 42  7  34 43  6  34 44  6
    34 45 14  34 46  2  34 47  9  35 36  9  35 37  7  35 38  8  35 39  6  35 40  3
    35 41  7  35 42  7  35 43  7  35 44 11  35 45 11  35 46  6  35 47 10  36 37 12
    36 38  9  36 39  5  36 40  8  36 41 11  36 42  8  36 43  4  36 44  9  36 45  7
    36 46  7  36 47  8  37 38 10  37 39 14  37 40  5  37 41 12  37 42 11  37 43  5
    37 44 10  37 45 12  37 46 10  37 47  9  38 39 12  38 40  5  38 41 10  38 42  8
    38 43  7  38 44  2  38 45  5  38 46 10  38 47  9  39 40  5  39 41  7  39 42  9
    39 43  5  39 44  6  39 45  5  39 46 11  39 47  9  40 41  3  40 42  9  40 43  8
    40 44  5  40 45  6  40 46  8  40 47  8  41 42  9  41 43  6  41 44  9  41 45 11
    41 46  5  41 47 11  42 43 13  42 44  8  42 45 15  42 46 11  42 47  8  43 44 11
    43 45 11  43 46 11  43 47  9  44 45 12  44 46  5  44 47  5  45 46 10  45 47 10
    46 47  9

     

    Редактирано от ined (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    преди 1 час, ined написа:

    три и повече числа брут форс ще е доста грозна гледка. Комбинации от две числа не толкова. За 509 тиража

    от 1.април.2015 до 22.август.2016 - има комбинации като 1,7 които се срещат само един път, а други са над 10 пъти

    
     1  2  6   1  3  6   1  4  4   1  5  5   1  6  7   1  7  1   1  8 10   1  9  5
     1 10  7   1 11  8   1 12  4   1 13  3   1 14  9   1 15  5   1 16  7   1 17  8
     1 18  1   1 19  6   1 20  7   1 21  5   1 22  4   1 23  9   1 24  8   1 25  7
     1 26  6   1 27  4   1 28  7   1 29  8   1 30  6   1 31  4   1 32  9   1 33  5
     1 34 10   1 35  6   1 36  4   1 37  5   1 38  3   1 39  4   1 40  3   1 41  7
     1 42  7   1 43  6   1 44  6   1 45 10   1 46 10   1 47  8   2  3  4   2  4  4
     2  5  7   2  6  5   2  7  1   2  8  4   2  9  5   2 10  5   2 11 10   2 12  4
     2 13  5   2 14  8   2 15  3   2 16  8   2 17 10   2 18  3   2 19  5   2 20 10
     2 21  4   2 22  4   2 23  5   2 24  9   2 25  5   2 26 10   2 27  6   2 28  7
     2 29  7   2 30  8   2 31  8   2 32  4   2 33  2   2 34  6   2 35 12   2 36  6
     2 37  4   2 38  6   2 39  2   2 40  7   2 41  5   2 42 10   2 43  5   2 44  1
     2 45  9   2 46  9   2 47  7   3  4  9   3  5  7   3  6  7   3  7  8   3  8  8
     3  9  9   3 10  9   3 11  3   3 12  9   3 13  7   3 14  9   3 15  4   3 16  9
     3 17  5   3 18  7   3 19  5   3 20 12   3 21  7   3 22  9   3 23  6   3 24 10
     3 25  5   3 26 13   3 27  5   3 28  6   3 29  8   3 30  8   3 31  7   3 32  4
     3 33  4   3 34 10   3 35 10   3 36  6   3 37 10   3 38  6   3 39  8   3 40  7
     3 41  4   3 42 12   3 43 13   3 44  6   3 45  5   3 46  4   3 47 10   4  5  5
     4  6  7   4  7 10   4  8 10   4  9  2   4 10  7   4 11  7   4 12  6   4 13  7
     4 14  6   4 15 11   4 16  6   4 17  6   4 18  7   4 19  7   4 20  6   4 21 10
     4 22  9   4 23 11   4 24  4   4 25  5   4 26  8   4 27  6   4 28  5   4 29  8
     4 30  3   4 31  6   4 32  5   4 33  7   4 34  8   4 35  6   4 36  9   4 37 11
     4 38  8   4 39  9   4 40  8   4 41  3   4 42 11   4 43  6   4 44  6   4 45 10
     4 46  5   4 47  6   5  6  9   5  7  6   5  8  6   5  9  9   5 10  4   5 11  9
     5 12  3   5 13  5   5 14  6   5 15  8   5 16  4   5 17  4   5 18  6   5 19  6
     5 20  6   5 21  5   5 22  4   5 23  5   5 24  9   5 25  2   5 26  8   5 27  6
     5 28  7   5 29 13   5 30  8   5 31  5   5 32  7   5 33  6   5 34  5   5 35  3
     5 36  8   5 37 10   5 38 10   5 39 13   5 40 10   5 41  4   5 42  7   5 43  7
     5 44  7   5 45  9   5 46 10   5 47  7   6  7  5   6  8  8   6  9  7   6 10  5
     6 11  7   6 12  1   6 13  7   6 14  8   6 15  6   6 16  6   6 17  3   6 18  7
     6 19  6   6 20  1   6 21  5   6 22  6   6 23  2   6 24  4   6 25 10   6 26  3
     6 27  6   6 28 12   6 29  7   6 30  5   6 31  9   6 32  6   6 33  2   6 34  9
     6 35  8   6 36  5   6 37  4   6 38  8   6 39  5   6 40  4   6 41  8   6 42 13
     6 43  5   6 44  8   6 45 12   6 46  6   6 47  6   7  8  8   7  9 10   7 10  8
     7 11  1   7 12  6   7 13  4   7 14  6   7 15  4   7 16  4   7 17  5   7 18 14
     7 19  3   7 20  3   7 21  5   7 22 11   7 23  9   7 24 10   7 25  5   7 26  7
     7 27  9   7 28  4   7 29  6   7 30  5   7 31  7   7 32  5   7 33  2   7 34  7
     7 35  6   7 36 11   7 37 14   7 38 11   7 39 10   7 40 12   7 41  7   7 42 10
     7 43 10   7 44  8   7 45  6   7 46 10   7 47 11   8  9  7   8 10 11   8 11  3
     8 12  9   8 13  8   8 14 12   8 15  6   8 16  9   8 17 10   8 18 10   8 19  9
     8 20  6   8 21  7   8 22 10   8 23  6   8 24  7   8 25  6   8 26  4   8 27  8
     8 28 11   8 29 12   8 30  6   8 31  6   8 32  7   8 33  7   8 34  6   8 35 11
     8 36  7   8 37 14   8 38  6   8 39  7   8 40  5   8 41  4   8 42 12   8 43 11
     8 44  9   8 45 12   8 46 11   8 47  9   9 10  8   9 11  3   9 12  6   9 13  5
     9 14  8   9 15  6   9 16  8   9 17  6   9 18  8   9 19  6   9 20  3   9 21  9
     9 22  7   9 23  1   9 24  6   9 25  8   9 26  8   9 27  9   9 28  7   9 29  8
     9 30 10   9 31  6   9 32  8   9 33  4   9 34  6   9 35  7   9 36 11   9 37 14
     9 38  8   9 39  8   9 40  6   9 41  5   9 42  8   9 43 12   9 44 10   9 45  6
     9 46 10   9 47  7  10 11  4  10 12  5  10 13  4  10 14  5  10 15  9  10 16  7
    10 17 10  10 18  8  10 19  7  10 20  6  10 21 10  10 22  6  10 23  6  10 24  6
    10 25  7  10 26  6  10 27  3  10 28  8  10 29  5  10 30  8  10 31 11  10 32  5
    10 33  8  10 34  4  10 35  9  10 36  8  10 37  6  10 38  8  10 39 13  10 40  5
    10 41  5  10 42 10  10 43  6  10 44  8  10 45 10  10 46 14  10 47 11  11 12  4
    11 13 11  11 14 11  11 15  7  11 16 10  11 17  6  11 18  3  11 19 12  11 20  7
    11 21 16  11 22  4  11 23  6  11 24  4  11 25  8  11 26 11  11 27  7  11 28  8
    11 29 10  11 30  6  11 31 12  11 32  6  11 33  8  11 34  8  11 35 11  11 36  5
    11 37  6  11 38  9  11 39  9  11 40  8  11 41  4  11 42  3  11 43  9  11 44  4
    11 45  7  11 46  6  11 47  4  12 13  8  12 14  7  12 15  6  12 16  7  12 17  7
    12 18  8  12 19  3  12 20  4  12 21  4  12 22  9  12 23  9  12 24  5  12 25  4
    12 26  7  12 27  7  12 28  5  12 29  4  12 30 10  12 31  4  12 32  4  12 33  6
    12 34  5  12 35  8  12 36  8  12 37  6  12 38  4  12 39  9  12 40  6  12 41  9
    12 42  4  12 43  9  12 44  9  12 45 11  12 46 10  12 47  7  13 14 10  13 15  4
    13 16  6  13 17  2  13 18  4  13 19 11  13 20  5  13 21  7  13 22  9  13 23  5
    13 24 10  13 25  6  13 26  7  13 27  9  13 28  7  13 29 10  13 30  7  13 31  6
    13 32  3  13 33  3  13 34  6  13 35  9  13 36  8  13 37 11  13 38  7  13 39  4
    13 40  4  13 41  7  13 42  9  13 43  5  13 44  8  13 45  8  13 46  5  13 47  4
    14 15  7  14 16  8  14 17  4  14 18  7  14 19  7  14 20  5  14 21  9  14 22 13
    14 23  7  14 24  5  14 25  9  14 26 12  14 27 11  14 28  4  14 29 12  14 30 10
    14 31  6  14 32  2  14 33  6  14 34  4  14 35 10  14 36  7  14 37  6  14 38  9
    14 39  9  14 40  9  14 41  6  14 42 16  14 43  8  14 44  8  14 45 10  14 46  8
    14 47  6  15 16  6  15 17  5  15 18  8  15 19  2  15 20  6  15 21 10  15 22  9
    15 23  2  15 24  3  15 25  9  15 26  9  15 27  9  15 28 10  15 29  4  15 30  6
    15 31  8  15 32  9  15 33  5  15 34  7  15 35  8  15 36 11  15 37  7  15 38  4
    15 39  5  15 40  5  15 41  5  15 42  7  15 43  9  15 44 13  15 45  6  15 46  9
    15 47  3  16 17  6  16 18  4  16 19  6  16 20  4  16 21 10  16 22  5  16 23  3
    16 24  9  16 25  8  16 26  6  16 27  6  16 28  6  16 29  9  16 30  5  16 31 10
    16 32  6  16 33  4  16 34 10  16 35  9  16 36  3  16 37 13  16 38  7  16 39  5
    16 40  7  16 41  8  16 42 10  16 43  9  16 44  8  16 45  7  16 46  7  16 47  5
    17 18  5  17 19  6  17 20  6  17 21  8  17 22  8  17 23  6  17 24  3  17 25  7
    17 26  7  17 27  3  17 28  7  17 29  4  17 30  3  17 31 11  17 32 10  17 33  3
    17 34  7  17 35  7  17 36  6  17 37  7  17 38  7  17 39  2  17 40  3  17 41  6
    17 42  7  17 43  8  17 44 10  17 45  4  17 46  9  17 47  8  18 19  2  18 20  2
    18 21  5  18 22 14  18 23  5  18 24  2  18 25  6  18 26 10  18 27  7  18 28  7
    18 29  0  18 30  5  18 31  7  18 32  6  18 33  2  18 34  3  18 35  7  18 36 12
    18 37  9  18 38  7  18 39  6  18 40  6  18 41  8  18 42 10  18 43 11  18 44 11
    18 45  9  18 46  9  18 47  7  19 20  4  19 21  9  19 22  6  19 23  6  19 24  3
    19 25  4  19 26  7  19 27  3  19 28  7  19 29  7  19 30  7  19 31  8  19 32  8
    19 33  5  19 34  3  19 35 10  19 36  5  19 37  5  19 38  6  19 39  7  19 40  5
    19 41  5  19 42  6  19 43  2  19 44  7  19 45 11  19 46 10  19 47 10  20 21  8
    20 22  3  20 23  3  20 24  7  20 25  4  20 26  9  20 27  4  20 28  6  20 29  7
    20 30  3  20 31  2  20 32  4  20 33  2  20 34  6  20 35  5  20 36  8  20 37  9
    20 38  4  20 39  6  20 40  7  20 41  7  20 42  7  20 43  5  20 44  5  20 45  9
    20 46  7  20 47  5  21 22  3  21 23  8  21 24  6  21 25 12  21 26  9  21 27 15
    21 28 10  21 29 11  21 30  9  21 31  9  21 32 11  21 33  8  21 34 10  21 35 11
    21 36  6  21 37  8  21 38  9  21 39  5  21 40  8  21 41  6  21 42  6  21 43 14
    21 44 13  21 45  8  21 46  6  21 47  6  22 23  4  22 24  4  22 25  9  22 26  6
    22 27  6  22 28  3  22 29  7  22 30  9  22 31  4  22 32 12  22 33  6  22 34  8
    22 35  6  22 36 10  22 37  9  22 38  8  22 39  8  22 40  3  22 41  7  22 42  5
    22 43  4  22 44  7  22 45  9  22 46  4  22 47  9  23 24  8  23 25  8  23 26  8
    23 27  5  23 28  6  23 29  5  23 30  8  23 31  4  23 32  6  23 33  3  23 34  5
    23 35 11  23 36  3  23 37  8  23 38  3  23 39  8  23 40  8  23 41  5  23 42  7
    23 43  9  23 44  5  23 45  9  23 46 12  23 47  7  24 25  5  24 26 10  24 27  5
    24 28  3  24 29  5  24 30  4  24 31  5  24 32  4  24 33  4  24 34  7  24 35 13
    24 36  4  24 37  7  24 38  4  24 39  8  24 40  6  24 41  6  24 42 14  24 43  9
    24 44  6  24 45  7  24 46  6  24 47 11  25 26  4  25 27  3  25 28  6  25 29  8
    25 30  8  25 31  8  25 32  9  25 33  5  25 34 12  25 35  9  25 36  7  25 37 10
    25 38  7  25 39  5  25 40  4  25 41  8  25 42 10  25 43  6  25 44  8  25 45  9
    25 46  8  25 47  7  26 27  7  26 28  5  26 29  7  26 30 10  26 31  8  26 32  5
    26 33  6  26 34  7  26 35 10  26 36 10  26 37  8  26 38 12  26 39 10  26 40  8
    26 41  3  26 42 12  26 43 12  26 44  5  26 45  3  26 46  5  26 47  2  27 28  4
    27 29  7  27 30  7  27 31  5  27 32  5  27 33  7  27 34  8  27 35  9  27 36 10
    27 37 10  27 38 11  27 39  5  27 40  5  27 41  7  27 42  7  27 43  5  27 44  7
    27 45  7  27 46 10  27 47  5  28 29  8  28 30  8  28 31  7  28 32  8  28 33  4
    28 34  6  28 35  3  28 36  4  28 37  9  28 38  2  28 39  6  28 40  5  28 41  7
    28 42  5  28 43  9  28 44  9  28 45  8  28 46 10  28 47  4  29 30  8  29 31 12
    29 32  6  29 33 12  29 34  9  29 35  5  29 36  6  29 37  6  29 38 11  29 39  9
    29 40  9  29 41  0  29 42  4  29 43 12  29 44 12  29 45 11  29 46 11  29 47 10
    30 31  8  30 32  4  30 33  6  30 34  9  30 35  5  30 36  9  30 37  7  30 38 12
    30 39  9  30 40  5  30 41 11  30 42 10  30 43  9  30 44  7  30 45 11  30 46 15
    30 47  3  31 32  4  31 33  0  31 34  4  31 35  7  31 36  4  31 37  8  31 38  8
    31 39  4  31 40 10  31 41  7  31 42  8  31 43  3  31 44  9  31 45  7  31 46  6
    31 47  8  32 33  7  32 34 11  32 35  7  32 36  8  32 37  6  32 38  5  32 39  6
    32 40  3  32 41  5  32 42  5  32 43  5  32 44  7  32 45  5  32 46  8  32 47  5
    33 34  8  33 35 11  33 36  9  33 37  4  33 38  8  33 39  6  33 40  5  33 41  3
    33 42  5  33 43  9  33 44  4  33 45  6  33 46  5  33 47  8  34 35  4  34 36 10
    34 37 17  34 38  7  34 39  6  34 40  6  34 41 12  34 42  7  34 43  6  34 44  6
    34 45 14  34 46  2  34 47  9  35 36  9  35 37  7  35 38  8  35 39  6  35 40  3
    35 41  7  35 42  7  35 43  7  35 44 11  35 45 11  35 46  6  35 47 10  36 37 12
    36 38  9  36 39  5  36 40  8  36 41 11  36 42  8  36 43  4  36 44  9  36 45  7
    36 46  7  36 47  8  37 38 10  37 39 14  37 40  5  37 41 12  37 42 11  37 43  5
    37 44 10  37 45 12  37 46 10  37 47  9  38 39 12  38 40  5  38 41 10  38 42  8
    38 43  7  38 44  2  38 45  5  38 46 10  38 47  9  39 40  5  39 41  7  39 42  9
    39 43  5  39 44  6  39 45  5  39 46 11  39 47  9  40 41  3  40 42  9  40 43  8
    40 44  5  40 45  6  40 46  8  40 47  8  41 42  9  41 43  6  41 44  9  41 45 11
    41 46  5  41 47 11  42 43 13  42 44  8  42 45 15  42 46 11  42 47  8  43 44 11
    43 45 11  43 46 11  43 47  9  44 45 12  44 46  5  44 47  5  45 46 10  45 47 10
    46 47  9

     

    Да де, ама трябва да се проверяват 6 числа.
    От които, примерно най-срещаната комбинация е 1, 9, 27, или 2, 34 или 25, 35, 43 и тн.

     

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
     5,37,39  5      7,18,26  5      7,22,37  5      9,36,37  5     11,14,26  5
    18,22,32  5     27,36,38  5     37,44,45  5
    include <stdio.h>
    
    char total[48][48][48]={};
        
    int main()
    {
        char msg[100];
        int i,j,k,t[6];
        FILE *f;
        
        f=fopen("loto6ot47.txt","r");
        while(1)
        {
            fgets(msg,100,f);
            if (msg[0]=='#') break;
            for (i=0; i<6; ++i)
            {
                fscanf(f,"%d",&t[i]);
                for (j=0; j<i; ++j)
                    for (k=0; k<j; ++k)
                        total[t[k]][t[j]][t[i]]++;
            }
            fgets(msg,100,f);
        }
        fclose(f);
        for (i=1; i<48; ++i)
            for (j=i+1; j<48; ++j)
                for (k=j+1; k<48; ++k)
                     if (total[i][j][k]>4) 
                         printf("%2d,%2d,%2d  %d     ",i,j,k,(int)total[i][j][k]);
        printf("\n");
        system("pause");
    }

     

    loto6ot47.txt

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове
    #include <iostream>
    #include <vector>
    #include <unordered_map>
    #include <fstream>
    #include <algorithm>
    using namespace std;
    
    vector<vector<int>> vvint;
    vector<int> vint;
    int a[48];
    struct singles
    {
    	int number;
    	int cases;
    };
    vector <singles> b(48);
    vector <singles> b2;
    vector <singles> b3;
    vector <singles> b4;
    
    bool operator < (singles a, singles b)
    {
    	if (a.cases < b.cases) return true;
    	return false;
    }
    
    
    void readinput()
    {
    	ifstream ifs("AllWinningNumbers.dat");
    	int mint;
    	vint.erase(vint.begin(), vint.end());
    	while (ifs >> mint)
    	{
    		vint.push_back(mint);
    		if (vint.size() == 6)
    		{
    			vvint.push_back(vint);
    			vint.erase(vint.begin(), vint.end());
    		}
    	}
    	ifs.close();
    }
    
    void checksingles()
    {
    	int i, j;
    	for (i = 0; i < 48; i++) a[i] = 0;
    	for (i = 0; i < vvint.size(); i++)
    	{
    		for (j = 0; j < vvint[i].size(); j++)
    		{
    			a[vvint[i][j]]++;
    		}
    	}
    	for (i = 1; i < 48; i++)
    	{
    		b[i].number = i;
    		b[i].cases = a[i];
    	}
    	sort(b.begin() + 1, b.end());
    	ofstream ofs("singles.txt");
    	ofs << "Single number cases:\n\n";
    	for (i = 47; i > 0; i--)
    	{
    		ofs << b[i].number << "\t" << b[i].cases << endl;
    	}
    	ofs.close();
    }
    
    void checktwos()
    {
    	singles s;
    	int i, j, k;
    	int mint;
    	unordered_map<int, int> twos;
    	for (i = 0; i < vvint.size(); i++)
    	{
    		for (j = 0; j < vvint[i].size() - 1; j++)
    		{
    			for (k = j + 1; k < vvint[i].size(); k++)
    			{
    				mint = vvint[i][j] * 100 + vvint[i][k];
    				if (twos.count(mint) > 0) twos[mint]++;
    				else twos.emplace(mint, 1);
    			}
    		}
    	}
    	b2.erase(b2.begin(), b2.end());
    	for (auto x : twos)
    	{
    		s.number = x.first;
    		s.cases = x.second;
    		b2.push_back(s);
    	}
    	sort(b2.begin(), b2.end());
    	ofstream ofs("twos.txt");
    	ofs << "Combinations of 2 numbers:\n\n";
    	for (i = b2.size() - 1; i >= 0; i--)
    	{
    		ofs << b2[i].number / 100 << "\t" << b2[i].number % 100 << "\t\t" << b2[i].cases << endl;
    	}
    	ofs.close();
    }
    
    void checkthrees()
    {
    	singles s;
    	int i, j, k, l;
    	int mint;
    	unordered_map<int, int> threes;
    	for (i = 0; i < vvint.size(); i++)
    	{
    		for (j = 0; j < vvint[i].size() - 2; j++)
    		{
    			for (k = j + 1; k < vvint[i].size() - 1; k++)
    			{
    				for (l = k + 1; l < vvint[i].size(); l++)
    				{
    					mint = vvint[i][j] * 10000 + vvint[i][k] * 100 + vvint[i][l];
    					if (threes.count(mint) > 0) threes[mint]++;
    					else threes.emplace(mint, 1);
    				}
    			}
    		}
    	}
    	b3.erase(b3.begin(), b3.end());
    	for (auto x : threes)
    	{
    		s.number = x.first;
    		s.cases = x.second;
    		b3.push_back(s);
    	}
    	sort(b3.begin(), b3.end());
    	ofstream ofs("threes.txt");
    	ofs << "Combinations of 3 numbers:\n\n";
    	for (i = b3.size() - 1; i >= 0; i--)
    	{
    		ofs << b3[i].number / 10000 << "\t" << b3[i].number / 100 % 100 
    			<< "\t" << b3[i].number % 100 << "\t\t" << b3[i].cases << endl;
    	}
    	ofs.close();
    }
    
    void checkfours()
    {
    	singles s;
    	int i, j, k, l, m;
    	int mint;
    	unordered_map<int, int> fours;
    	for (i = 0; i < vvint.size(); i++)
    	{
    		for (j = 0; j < vvint[i].size() - 3; j++)
    		{
    			for (k = j + 1; k < vvint[i].size() - 2; k++)
    			{
    				for (l = k + 1; l < vvint[i].size() - 1; l++)
    				{
    					for (m = l + 1; m < vvint[i].size(); m++)
    					{
    						mint = vvint[i][j] * 1000000 + vvint[i][k] * 10000 + vvint[i][l] * 100 + vvint[i][m];
    						if (fours.count(mint) > 0) fours[mint]++;
    						else fours.emplace(mint, 1);
    					}
    				}
    			}
    		}
    	}
    	b4.erase(b4.begin(), b4.end());
    	for (auto x : fours)
    	{
    		s.number = x.first;
    		s.cases = x.second;
    		b4.push_back(s);
    	}
    	sort(b4.begin(), b4.end());
    	ofstream ofs("fours.txt");
    	ofs << "Combinations of 4 numbers:\n\n";
    	for (i = b4.size() - 1; i >= 0; i--)
    	{
    		ofs << b4[i].number / 1000000 << "\t" << b4[i].number / 10000 % 100
    			<< "\t" << b4[i].number / 100 % 100 << "\t" << b4[i].number % 100 << "\t\t" << b4[i].cases << endl;
    	}
    	ofs.close();
    }
    
    int main()
    {
    	readinput();
    	checksingles();
    	checktwos();
    	checkthrees();
    	checkfours();
    	return 0;
    }
    
    // Програмата създава 4 текстови файла показващи честотата на всички случили се
    // единици, двойки, тройки и четворки, съгласно входните данни
    // Имената на файловете са съответно "singles.txt", "twos.txt", "threes.txt", "fours.txt"
    

     

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Благодаря на всички много!
    Ако спечеля ще черпя :)

     

    A, ined, може ли само да преведеш на c++, че това май си е C.

    Редактирано от Kristian Panov (преглед на промените)

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Регистрирайте се или влезете в профила си за да коментирате

    Трябва да имате регистрация за да може да коментирате това

    Регистрирайте се

    Създайте нова регистрация в нашия форум. Лесно е!

    Нова регистрация

    Вход

    Имате регистрация? Влезте от тук.

    Вход


    ×

    Информация

    Този сайт използва бисквитки (cookies), за най-доброто потребителско изживяване. С използването му, вие приемате нашите Условия за ползване.