Potrzebny mi program napisany w turbo pascalu bądź c++, który będzie losował 6 liczb z zakresu od 1 do 49 (całkowite), przy czym wylosowana liczba nie może się już powtórzyc (czyli za każdym kolejnym losowaniem ilośc liczb się zmniejsza :))
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
W c++
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(int argc, char *argv[])
{
int ilosc;
cout<<"Ile razy losowac?"; cin>>ilosc;
cout << "Wylosowane liczby to: \n";
//Wypełnij tablicę numerki liczbami Lotto
int n = 49;
int tab[n];
int i;
int j;
for(j=0;j<ilosc;j++)
{
for(i=0; i<n; i=i+1) tab[i]=i+1;
//Losuj k=6 razy
int k = 6;
int indeks;
srand( (unsigned)time( NULL ) );
for (i=0; i<k; i=i+1){
indeks = rand()% n; // losuj indeks od 0 do n-1
cout << tab[indeks] << ", ";
tab[indeks] = tab[n-1];
n = n-1;
}
cout<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
II program
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(int argc, char *argv[])
{
int ilosc;
cout<<"Ile razy losowac?"; cin>>ilosc;
cout << "Wylosowane liczby to: \n";
//Wypełnij tablicę numerki liczbami Lotto
int n = 49;
int tab[n];
int i;
int j;
int k = 6;
int indeks;
srand( (unsigned)time( NULL ) );
for(j=0;j<ilosc;j++)
{
n=49;
for(i=0; i<n; i=i+1) tab[i]=i+1;
for (i=0; i<k; i=i+1){
indeks = rand()% n; // losuj indeks od 0 do n-1
cout << tab[indeks] << ", ";
tab[indeks] = tab[n-1];
n = n-1;
}
cout<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}