• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program lotto problem z powtarzaniem się liczb

Cloud VPS
0 głosów
1,357 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez Mesiak Bywalec (2,380 p.)

Witam napisałem krótki program ala symulator lotto. Program działa poprawnie póki co ale problemem jest że liczby które wpiszemy bądź program nam je wylosuje mogą się powtarzać. Stąd pytanie : Jak w łatwy sposób napisać pętle która będzie to sprawdzać bez potrzeby sprawdzenia wszystkich warunków. Oto kod :

#include <iostream>
#include <time.h>
#include <windows.h>
using namespace std;
int chybiltrafil ()
{
int k = rand()%60+1;
return k ;
}
int duzylotek()
{
int k;
cin >> k;
while((k>60)||(k<1))
{
    cout << "Mozesz wypisac tylko liczbe z zakresu od 1 do 60!" << endl;
    cout << "Podaj liczbe jeszcze raz";
    cin >> k;
}
return k;
}
void baza()
{
cout << "SYMULATOR LOTTO" << endl;
cout << "1. Chybil trafil" << endl;
cout << "2. Duzy lotek" << endl;
}
int main()
{
int wynik[5];
baza();
srand(time(NULL));
int wybor; cin >> wybor;
while ((wybor>2)||(wybor<1))
{
    cout << "Podaj odpowiedni numer ";
    cin >> wybor;
}
switch(wybor)
{
case 1:
cout << "To twoje liczby : ";
for(int i=0; i<6; i++)
{
wynik[i] = chybiltrafil();
cout << wynik[i]  << " " ;
}
break;
case 2:
for (int i=0; i<6; i++)
{
cout << "Podaj " << i+1 << " liczbe ";
wynik[i] = duzylotek();
}
cout << endl << "To twoje liczby : ";
for (int i=0; i<6 ; i++)
{
    cout << wynik[i] << " ";
}
break;
}
cout << endl << "Teraz nastapi losowanie 6 liczb przez system : ";
int b[5];
for (int i = 0; i<6; i++)
{
Sleep(1000);
b[i] = rand()%60+1;
cout << "\a" <<  b[i] << " ";
}
int trafienie = 0;
for(int i = 0; i<6; i++)
{
for(int j = 0 ; j<6; j++)
{
if(wynik[j]==b[i])
{
trafienie++;
}
}
}
cout << endl << "Trafiles : " << trafienie << " liczb";
    return 0;
}

 

3 odpowiedzi

+1 głos
odpowiedź 3 stycznia 2016 przez Sedi Stary wyjadacz (10,200 p.)
Hmm, możesz zapisywać do osobnej tablicy trafioną liczbę. Następnie sprawdzać ten wyraz z ową tablicą.

Swoją drogą, to takie pytanie już było miliony razy :)

https://www.google.pl/search?q=site:forum.miroslawzelent.pl+losowanie+bez+powtorzen
komentarz 3 stycznia 2016 przez Mesiak Bywalec (2,380 p.)
Rzeczywiście źle sprecyzowałem nazwę tematu przez co nie zauważyłem że inne już były temat do zamknięcia
0 głosów
odpowiedź 3 stycznia 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)
Jest cały osobny algorytm na losowanie bez powtórzeń, znajdź w sieci, pełno tego ;)
0 głosów
odpowiedź 17 stycznia 2018 przez gareth01 Nowicjusz (140 p.)

A nie da rady stworzyć jakiegoś programu co by podawał wyniki następnych losowań lotto online? :D To by dopiero był genialny program! Swoją drogą, świetne skrypty odnośnie losowań robi ibm w oprogramowaniu spss to analizy statystycznej. Ale to wyższa szkoła jazdy.

Podobne pytania

+1 głos
0 odpowiedzi 641 wizyt
pytanie zadane 20 czerwca 2023 w Offtop przez niezalogowany
0 głosów
3 odpowiedzi 748 wizyt
pytanie zadane 7 lutego 2019 w C i C++ przez KonDZIKs Bywalec (2,850 p.)
–5 głosów
1 odpowiedź 949 wizyt
pytanie zadane 31 października 2017 w C i C++ przez Rederv Nowicjusz (200 p.)

93,486 zapytań

142,418 odpowiedzi

322,771 komentarzy

62,899 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...