Miért nem működik a programom. A házimat próbálnám csinálni, de valami miatt nem működik. A számok tömböt véletlenszámokkal kell feltölteni, de ott van a bibi. Mi lehet a gond?
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <ctime>
using namespace std;
struct Lotto{
int enumeration;
int number[5];
};
int main(){
vector<Lotto> LottoLot;
Lotto firstweek;
firstweek.enumeration = 1;
srand(time(NULL));
for (int i = 0; i < 5; i++){
int b = rand() % 90 + 1;
LottoLot.push_back(firstweek.number[b]);
}
for (Lotto x:LottoLot){
cout << x.enumeration << x.number << endl;
}
system("pause");
return 0;
}
int b = rand() % 90 + 1;
LottoLot.push_back(firstweek.number[b]);
Itt konkrétan azt mondod, hogy 'b' legyen egy random szám 1-től 90-ig, aztán a LottoLot-ba tedd be a firstweek b-edik számát.
Amit te akarsz az feltehetőleg az, hogy a firstweek i-edik száma legyen 'b', és miután mind az 5 számot feltöltötted (ergo a ciklus után) a LottoLot-ba tegye be a firstweek-et. Sőt, továbbmegyek, hogy valószínűleg nem csak egy hetet akarsz berakni, hanem többet is, tehát arra is kell egy ciklus.
firstweek.number[i] = b; //firstweek i-edik száma legyen b;
A ciklus végén meg:
LottoLot.push_back(firstweek); //LottoLot-ba tegyük bele a firstweek-et.
Ha figyelsz a típusokra, nem nehéz kiigazodni. A LottoLot-ba Lotto típusú dolgokat kell tenni. A firstweek Lotto típusú, a firstweek.number int tömb típusú, a firstweek.number[i] meg int típusú.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!