Witam!
Czy moglibyście mi powiedzieć, dlaczego ten program się nie kończy? Nie mogę użyć debuggera, ponieważ nie mam windowsa, a nie znalazłem działającego na linuksa. Analizowałem ten kod, ale nie ogarniam :(
#include <iostream>
#include <list>
#include <vector>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main() {
cout << "Witaj w Lotto!" << "\n\n";
int temp;
vector<int>guesslist;
cout << "Wpisz szesc liczb naturalnych z przedzialu <1, 49>"<< endl;
for (int i=0; guesslist.size()!=6; i++)
{
cout << i+1 << ": "<< endl;
cin >> temp;
tutaj:
if (1>temp || temp>49)
{
cout << "wprowadzono niepoprawna wartosc liczbowa, sprobuj ponownie: ";
cin >> temp;
cout << endl;
goto tutaj;
}
stad:
for (int j=0; j!=guesslist.size(); j++)
{
if (temp==guesslist[j])
{
cout << "Ta liczba zostala juz wybrana, wybierz inna:";
cin >> temp;
cout << endl;
goto stad;
}
}
guesslist.push_back(temp);
}
cout << "Wylosowane liczby to: ";
int wylosowana;
srand(int(time(NULL)));
vector<int>pseudolosowe;
for (int i=0; i!=6; i++)
{
inna:
wylosowana=rand()%49+1;
for (int j=0; j!=pseudolosowe.size(); j++)
{
if (wylosowana==pseudolosowe[j]);
goto inna;
}
pseudolosowe.push_back(wylosowana);
cout << wylosowana << " ";
}
cout << endl;
int trafienia=0;
/* SPRAWDZANIE */
for (int i=0; i!=6; i++)
for (int j=0; j!=6; j++)
{
if (guesslist[i]=pseudolosowe[j])
{
trafienia++;
break;
}
}
cout << "Ilosc trafien: " << trafienia;
if (trafienia>=3)
cout << endl << "gratulujemy!";
}