Det är så att jag behöver hjälp med en c++ uppgift, som jag inte direkt vet hur jag ska lösa.
Programmet ska slumpa fram och skriva ut en lottorad på 7 siffror, mellan 1-35.
Detta är en skoluppgift som jag försöker att lösa. Vi fick en kod som inte fungerade, som vi skulle lösa. Jag har löst det mesta (förhoppningsvis), men när jag kör koden så skriver den ut 6 stycken siffror istället för 7. Någon som kan se något/några problem i koden nedanför?
Tackar ödmjukast för hjälp!
Programmet ska slumpa fram och skriva ut en lottorad på 7 siffror, mellan 1-35.
Detta är en skoluppgift som jag försöker att lösa. Vi fick en kod som inte fungerade, som vi skulle lösa. Jag har löst det mesta (förhoppningsvis), men när jag kör koden så skriver den ut 6 stycken siffror istället för 7. Någon som kan se något/några problem i koden nedanför?
Tackar ödmjukast för hjälp!
Kod:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int lottorad[7]; // Ett heltalsfält som lagrar lottoraden
bool lika=false;
for(int i=1; i<7; i++){
lottorad[i]=rand()%35+1; // Slumpar ett tal mellan 1 och 35
for(int j=1; j<i; j++) // Loopar igenom de tidigare slumpade tal och kontrollerar om det aktuella talet redan har dragits
if(lottorad[i]==lottorad[j])
lika=true;
if(lika) { // Om det aktuella talet redan dragits så minskas i med 1. Man går alltså tillbaka ett steg i loopen och slumpar ett nytt tal
i--;
lika=false;
}
else { // Om det aktuella talet inte hade dragits tidigare så skrivs det ut
cout << lottorad[i] << endl;
}
}
return 0;
}