Avatar billede gokciim Nybegynder
23. oktober 2008 - 18:22 Der er 4 kommentarer

Lotto program

Hej gutter derude.

jeg er meget nybegynder til programmering i C++, og har fået den opgave af min lærer at jeg skal lave min egen program(projekt) og jeg har valgt at lave en lotto program.

programmet skal kunne via at trykke på fx Alt-V, skal den kunne automatisk vise numre fra 1-36(tilfældige) 7 tal så man kan skrive det på sin kupon, ingen farver eller anden art af funktioner, bare jeg kan få en kode på hvordan jeg alverden får den til at vælge tilfældige numre fra 1-36.


håber i kan hjælpe mig. (programmet skal skrives i C++)
Avatar billede wham Nybegynder
23. oktober 2008 - 20:26 #1
Tjah lotto programmer i c++ er der nok af derude (søg på google) som f.eks. http://www.coderprofile.com/source-code/303/c-lotto-number-gen (skal tilrettes til 7 tal ud af 36)
Avatar billede oddi Nybegynder
23. oktober 2008 - 21:30 #2
Avatar billede gokciim Nybegynder
23. oktober 2008 - 21:43 #3
tak det var det jeg søgte :B
Avatar billede arne_v Ekspert
24. oktober 2008 - 02:30 #4
Til inspiration:

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>

using namespace std;

void test1(int m, int n)
{
    vector<int> res;
    for(int i = 0; i < m; i++)
    {
        int v;
        do
        {
            v = rand() % n + 1;
        }
        while(find(res.begin(), res.end(), v) != res.end());
        res.push_back(v);
    }
    sort(res.begin(), res.end());
    for(int j = 0; j < res.size(); j++) cout << " " << res[j];
    cout << endl;
}

void test2(int m, int n)
{
    vector<int> res;
    vector<int> base;
    for(int k = 0; k < n; k++) base.push_back(k + 1);
    for(int i = 0; i < m; i++)
    {
        int ix = rand() % base.size();
        res.push_back(base[ix]);
        base.erase(base.begin() + ix);
    }
    sort(res.begin(), res.end());
    for(int j = 0; j < res.size(); j++) cout << " " << res[j];
    cout << endl;
}

struct S
{
    int v;
    int r;
};

bool Scompare(S a, S b) { return (a.r < b.r); }

void test3(int m, int n)
{
    vector<int> res;
    vector<S> base;
    for(int k = 0; k < n; k++)
    {
        S rec;
        rec.v = k + 1;
        rec.r = rand();
        base.push_back(rec);
    }
    sort(base.begin(), base.end(), Scompare);
    for(int i = 0; i < m; i++)
    {
        res.push_back(base[i].v);
    }
    sort(res.begin(), res.end());
    for(int j = 0; j < res.size(); j++) cout << " " << res[j];
    cout << endl;
}

int main()
{
    srand(time(NULL));
    test1(7, 36);
    test2(7, 36);
    test3(7, 36);
    return EXIT_SUCCESS;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
Stort CIO-interview: Lemvigh-Müllers milliard-omsætning er blevet digital
Job & Karriere
Her er Netcompanys nye hovedkvarter: Flytter til ikonisk adresse i hjertet af København - kommer til at betale million-leje