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

losowanie znaków

Ostatnio zmodyfikowano 2013-01-01 23:51
Autor Wiadomość
mactec
» 2012-12-31 14:15:25
Ja bym Ci radził to wogóle inaczej zrobić. Najpierw losujesz czy masz wylosować dużą czy mała literę, a potem losujesz tą literę.
P-72510
rooker
Temat założony przez niniejszego użytkownika
» 2012-12-31 15:25:03
Ok a mozesz kod zaproponowac??bo tamtego nie bardzo rozumiem.
P-72522
Mike148
» 2012-12-31 16:04:35
j =( rand() % 2 );
Oznacz że wartość j przypisujemy resztę z dzielenia losowej liczby przez dwa. Jak można zauważyć jest to zawsze 1 lub 0.
1 - zamieniamy na małą
0 - zostawiamy dużą

Co do tego if'a to taki trick.
If przyjmuje wartość logiczną true albo false.

if( j )
To jest zastąpienie bool'a. Np.
C/C++
bool j = true;
if( j == true ) //to to samo co if(j)
if( j == false ) // to samo co if(!j)

/* Możesz tam tak samo podstawiać inne typy danych np. int */
     int i = 1;

if( i ) // jeśli wartość jest większa od zera to prawda np. i = 245
if( !i ) // mniejsze od zera to fałsz np. i = 0 lub i = -213
P-72532
mactec
» 2012-12-31 16:17:17
To może Ci będzie łatwiej zrozumieć:

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

using namespace std;

int main()
{
    srand( time( NULL ) );
   
    char litera[ 5 ];
   
   
    for( int i = 0; i < 5; i++ ) {
        switch(( rand() % 2 ) + 1 ) {
        case 1: litera[ i ] =( rand() % 25 ) + 65; break;
        case 2: litera[ i ] =( rand() % 25 ) + 97; break;
           
        }
    }
   
    for( int i = 0; i < 5; i++ )
         cout << litera[ i ];
   
    return 0;
}
P-72533
CodeMeister
» 2012-12-31 16:27:37
zapominacie o tym, że chodzi mu o tablicę dwuwymiarową

A tak apro losowania to ludzie zapomnieli chyba o takiej postaci:
liczba =( rand() % 10 ) + 1;

to losuje liczby od 1 do 10 - mała zmiana i losuje z twojego przedziału ;)
P-72535
Mike148
» 2012-12-31 17:04:22
zapominacie o tym, że chodzi mu o tablicę dwuwymiarową

A tak apro losowania to ludzie zapomnieli chyba o takiej postaci: liczba =( rand() % 10 ) + 1;
to losuje liczby od 1 do 10 - mała zmiana i losuje z twojego przedziału ;)

Przeczytaj wcześniejsze posty. Jego problem nie polega na tym, że nie wie jak wylosować litery, tylko chce losować tylko litery duże i małe. Spójrz na tablicę ASCII i zobacz, że pomiędzy małymi i dużymi są jeszcze znaki których on nie chce losować. Stąd te wszystkie udziwnienia losowania.

EDIT :
Mógłbyś wytłumaczyć dokładniej o co chodzi z tą tablicą dwuwymiarową ?
P-72541
CodeMeister
» 2012-12-31 20:35:10
Mógłby losować razem z tym przedziałem i jeśli wylosowana została by takowa liczba to należy losować jeszcze raz (chyba, że będzie miał mega pecha i cały czas będzie losował z tego przedziału :P )
P-72574
rooker
Temat założony przez niniejszego użytkownika
» 2013-01-01 09:29:53
Chodzi mi o to że wszystko to ma być wpisane w tablice dwuwymiarową i nie wiem jak to zapętlić.
P-72583
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona