Nilzone Skrevet 3. februar 2012 Del Skrevet 3. februar 2012 (endret) Jeg har laget ett lotto-program som når kjøres, spytter ut en lottokupong med unike tall pr. rekke og som er sortert fra lav til høy. Det neste steget blir å lage en GUI, men jeg vet ikke helt hvordan jeg skal begynne. Tips/hjelp settes stor pris på! Koden for de som er interessert: // // main.cpp // Lotto // // Created by Thomas Nilsen on 01.02.12. // Copyright (c) 2012 __MyCompanyName__. All rights reserved. // #include <iostream> using namespace std; const int NED = 10; const int BORT = 6; void quickSort(int arr[], int left, int right); int checkDuplicates(int arr[], int length); int main (int argc, const char *argv[]) { int lottoTall[6]; int kupong[10][6]; int tall, i, j, k; srand((unsigned)time(NULL)); tall = (rand() % 48) + 1; cout << "\n\nLotto-kupongen sortert: " << "\n\n"; for (i = 0; i < NED; i++) //10 nedover { for (j = 0; j < BORT; j++) //6 bortover { lottoTall[j] = tall; tall = (rand() % 48) + 1; } if(checkDuplicates(lottoTall, 6) != -1) { for(k = 0; k < BORT; k++) { while(checkDuplicates(lottoTall, 6) == lottoTall[k]) { lottoTall[k] = (rand() % 48) + 1; } } } quickSort(lottoTall, 0, 5); cout << '\n'; for(j = 0; j < BORT; j++) { kupong[i][j] = lottoTall[j]; cout << kupong[i][j] << '\t'; } } return 0; } void quickSort(int arr[], int left, int right) { int i = left, j = right; int tmp; int mid = arr[(left + right) / 2]; while (i <= j) { while (arr[i] < mid) i++; while (arr[j] > mid) j--; if (i <= j) { tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; i++; j--; } }; if (left < j) quickSort(arr, left, j); if (i < right) quickSort(arr, i, right); } int checkDuplicates(int arr[], int length) { for(int i = 0; i < length; i++) { for(int j = i + 1; j < length; j++) { if(arr[i] == arr[j]) return arr[j]; } } return -1; } Endret 3. februar 2012 av Nilzone Lenke til kommentar
snippsat Skrevet 5. februar 2012 Del Skrevet 5. februar 2012 Du får se på wxWidgest,QT,GTK+. Dette er kryssplattform GUI som virker i mange språk. Jeg testet alle og har en god del erfaring med wxpython(wxWidgest) ettersom jeg bruker python mye. Ser du ikke har vært lat og brukt sort(),men skrevet en quickSort funksjon. Du kan se på tutorial for de fleste GUI toolkit her Zetcode For gøy kan jeg lage raskt et lotto program i python. import random def lotto_numbers(row_nr): d = {} for numb,i in enumerate(xrange(row_nr), 1): d[numb] = sorted(random.sample(xrange(1,35), 7)) return d def main(): row_nr = 3 lotto = lotto_numbers(row_nr) for k,v in lotto.items(): print k,v if __name__ == '__main__': main() '''Output--> 1 [1, 13, 14, 18, 23, 29, 32] 2 [4, 6, 15, 16, 19, 21, 26] 3 [4, 5, 9, 18, 25, 28, 34] ''' Denne følger norsk lotto 7(1-34) Ser du har 6(1-49) Kunne ha vært gøy og lage GUI som "Din Lottokupong" som generer 10 rekker av 7 random tall(lik koden min bare bruke "row_nr = 10") https://www.norsk-tipping.no/spill/lotto Kan jo poste koden viss jeg lager GUI for det,men C++ er nok litt mere knotete så koden vil kansje ikke hjelpe deg så mye. Lenke til kommentar
Nilzone Skrevet 5. februar 2012 Forfatter Del Skrevet 5. februar 2012 Takk for helpen! Mange gode tips her. For øvrig så er (rand() % 48) + 1 = 1-48, ikke 1-49. +1 legges på til slutt slik at 0 ikke blir ett av randomtallene Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå