Losowanie C++

arnie123
Użytkownik
Użytkownik
Posty: 35
Rejestracja: 3 lut 2007, o 16:36
Płeć: Mężczyzna
Lokalizacja: Bełchatów
Podziękował: 5 razy

Losowanie C++

Post autor: arnie123 »

Witam
Jak napisać kod aby program wybierał kilka losowych liczb z danego zbioru np 5 liczb ze zbioru od 1 do 50 i pokazywał? Ważnym jest aby te liczby sie nie powtarzały (to tak jak w totolotku).

Wyczarowałem cos takiego ale chyba nie jest to dobrze (nawet sie nie kompiluje):

Kod: Zaznacz cały

#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include <ctime>
#include <conio.h>
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

int a,b,c,d,e,f;

 b!=a;
 b!=c;
 b!=d;
 b!=e;
 b!=f;
 c!=a;
 c!=e;
 c!=b;
 c!=d;
 c!=f;
 d!=a;
 d!=b;
 d!=c;
 d!=e;
 d!=f;
 e!=a;
 e!=b;
 e!=c;
 e!=d;
 e!=f;
 f!=a;
 f!=b;
 f!=c;
 f!=d;
 f!=e;

 a=(rand()% 50);
 b=(rand()% 50);
 c=(rand()% 50);
 d=(rand()% 50);
 e=(rand()% 50);
 f=(rand()% 50);

    randomize();
    srand(unsigned(time(0)));

        for(a=0; a<50; a++);
           Edit1->Text=((rand()% 50));
        do
           {rand()% 49;}

        while ((rand()% 49)>0; (rand()% 49)!=a)
           Edit2->Text=(rand()% 49);
Z góry dziękuję za pomoc
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

Losowanie C++

Post autor: Szemek »

... es/017.php
wystarczy odrobinę przerobić
Xitami

Losowanie C++

Post autor: Xitami »

Kod: Zaznacz cały

/* rand(a,b) is any function that returns a
   psuedo-random integer from a through b */

for (i=1; i <= 100; i++)
   a[i] = i;

for (i=1; i <= 100; i++)
   swap (a[i], a[rand(i,100)]);   /* note: if you use rand(1,100) then the
                                     results will NOT be uniformly random! */
arnie123
Użytkownik
Użytkownik
Posty: 35
Rejestracja: 3 lut 2007, o 16:36
Płeć: Mężczyzna
Lokalizacja: Bełchatów
Podziękował: 5 razy

Losowanie C++

Post autor: arnie123 »

Xitami czy mógłbyś mi to jakoś wyjaśnić bo nie za bardzo rozumiem tego co napisałes:/
Już w ogóle pogubiłem sie w tych liczbach losowych:/
Xitami

Losowanie C++

Post autor: Xitami »

pierwsza pętla buduje tablicę: [1, 2, 3, ..., 49, 50]
druga pętla wystarczy "for (i=1 i
ODPOWIEDZ