Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

 

Помощ с функция rand

Featured Replies

Здравейте! Занимавам се с C++ от 3-4 дни и днес написах първата си програма . Кръстих я тото симулатор :). Въпросът ми е какво мога да добавя, така че когато въвеждам произволни числа с функцията rand, те да не съвпадат едно с друго. Ето го и кода:

[ CODE ]

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    int answer;
    int score[35] = {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};
    int score2[49] = {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};
    int score3[42] = {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};
    int a,b,c,d,e,f;
    srand(time(0));
    cout<<"Choose 1 game from the games below"<<endl;
    cout<<"1) 5/35"<<endl;
    cout<<"2) 6/49"<<endl;
    cout<<"3) 6/42"<<endl;
    cin>>answer;
    switch(answer){
        case 1:
            cout<<"You choosed 5/35"<<endl;
            cout<<"Please enter your 5 numbers"<<endl;
            cin>>a>>b>>c>>d>>e;
            while(a==b || a==c || a==d || a==e || b==c || b==d || b==e || c==d || c==e || d==e){
                cout<<"Please choose different numbers"<<endl;
                cin>>a>>b>>c>>d>>e;
            }
            cout<<"Your numbers are added"<<endl;
            for(int x = 1; x<=5; x++){
            score[x] = 1+rand()%35;
            cout<<"Number #"<<x<<" is ";
            cout<< score[x]<<endl;

            if((a == score[x])||
                 (b == score[x])||
                 (c == score[x])||
                 (d == score[x])||
                 (e == score[x])){
                cout<<"Match"<< endl;
            }else{
                cout<<"No matches"<<endl;
            }
            }
            break;
        case 2:
            cout<<"You choosed 6/49"<<endl;
            cout<<"Please enter your 6 numbers"<<endl;
            cin>>a>>b>>c>>d>>e>>f;
            while(a==b || a==c || a==d || a==e || a==f || b==c || b==d || b==e || b==f || c==d || c==e || c==f || d==e || d==f || e==f){
            cout<<"Please choose different numbers"<<endl;
            cin>>a>>b>>c>>d>>e>>f;
            }
            cout<<"Your numbers are added"<<endl;
            for(int x = 1; x<=6; x++){
            score2[x] = 1+rand()%49;
            cout<<"Number #"<<x<<" is ";
            cout<< score2[x]<<endl;

            if((a == score2[x])||
                 (b == score2[x])||
                 (c == score2[x])||
                 (d == score2[x])||
                 (e == score2[x])||
                 (f == score2[x])){
                cout<<"Match"<< endl;
            }else{
                cout<<"No matches"<<endl;
            }
            }
            break;
        case 3:
            cout<<"You choosed 6/42"<<endl;
            cout<<"Please enter your 6 numbers"<<endl;
            cin>>a>>b>>c>>d>>e;
            while(a==b || a==c || a==d || a==e || a==f || b==c || b==d || b==e || b==f || c==d || c==e || c==f || d==e || d==f || e==f){
            cout<<"Please choose different numbers"<<endl;
            cin>>a>>b>>c>>d>>e>>f;
            }
            cout<<"Your numbers are added"<<endl;
            for(int x = 1; x<=6; x++){
            score3[x] = 1+rand()%42;
            cout<<"Number #"<<x<<" is ";
            cout<< score3[x]<<endl;

            if((a == score3[x])||
                 (b == score3[x])||
                 (c == score3[x])||
                 (d == score3[x])||
                 (e == score3[x])||
                 (f == score3[x])){
                cout<<"Match"<< endl;
            }else{
                cout<<"No matches"<<endl;
            }
            }
            break;
    }
    return 0;
}
 [ /CODE ]

Ако има по-лесни и удобни начини за създаването на програмата, моля споделете. Не си щадете критиките :)

Проверяваш числото дали не се повтаря с някое от изтеглените вече числа и ако да го генерираш отново.

Плюс това трите тотализатора са прекалено еднакви, че да ги пишеш поотделно, може да ги изкараш като една единствена функция и да и подаваш като параметри нужният брой числа - примерно toto(6, 49) или toto(5, 35)

 

[edit]

Може и да ги направиш вместо в масивите да помниш кои числа са изтеглени и избрани, от всичките да ги зачеркваш както си е реално при фишовете. Става малко по-сложно, но автоматично числата ще ти излизат подредени по големина независимо как са вкарвани или теглени.

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

Архивирана тема

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

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

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

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.