Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczniki i w losowej kolejnosci bez powtorzen

Ostatnio zmodyfikowano 2015-03-07 14:57
Autor Wiadomość
aksen
» 2015-03-07 03:21:43
moze sie zdarzyc tak ze 2x wylosuje ta sama komorke i co wtedy ;P?

Wtedy np. komórka o indeksie np tab[0] będzie zawierała liczbę 1 (która pojawi się tam gdzie była na początku).
A kto powiedział , że w komórce tab[0] nie może być liczby 1? To losowanie, więc tam może pojawić się dowolna liczba.
P-127877
aksen
» 2015-03-07 03:36:46
Już jest, nie na co czekać do rana:
(w końcu to program na 5-10 minut pisania)

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

inline int losuj( int a, int b )
{
    return a + rand() %( b - a + 1 );
}

int main()
{
    const int ilosc_liczb = 100;
    int tab[ ilosc_liczb ];
   
    srand( time( NULL ) );
   
    // wypelniamy tablice (liczbami od 1)
    for( int i = 0; i < ilosc_liczb; i++ )
         tab[ i ] = i + 1;
   
    // mieszamy liczby w tablicy
    for( int i = 0; i < ilosc_liczb; i++ )
         swap( tab[ i ], tab[ losuj( 0, ilosc_liczb - 1 ) ] );
   
    // wypisujemy wyniki
    for( int i = 0; i < ilosc_liczb; i++ )
         cout << tab[ i ] << ", ";
   
   
    system( "pause" );
    return 0;
}
P-127878
aksen
» 2015-03-07 11:53:08
W sumie losowanie tu jest tak proste, że wyrzucenie funkcji "losuj" tylko uprości programik:
(prościej chyba już się nie da)

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    const int ilosc_liczb = 100;
    int tab[ ilosc_liczb ];
   
    srand( time( NULL ) );
   
    // wypelniamy tablice (liczbami od 1)
    for( int i = 0; i < ilosc_liczb; i++ )
         tab[ i ] = i + 1;
   
    // mieszamy liczby w tablicy
    for( int i = 0; i < ilosc_liczb; i++ )
         swap( tab[ i ], tab[ rand() % ilosc_liczb ] );
   
    // wypisujemy wyniki
    for( int i = 0; i < ilosc_liczb; i++ )
         cout << tab[ i ] << ", ";
   
    system( "pause" );
    return 0;
}
P-127884
kynol
Temat założony przez niniejszego użytkownika
» 2015-03-07 14:57:24
Wiem, juz w nocy skminilem ten twoj program i napisalem podobny :))
P-127892
1 2 « 3 »
Poprzednia strona Strona 3 z 3