Arekadiusz Opublikowano 15 Czerwca 2012 Udostępnij Opublikowano 15 Czerwca 2012 Witam! Chcem sobie napisać skrypt losujący podaną ilość znaków z podanego przedziału. Czy ktoś może wie jak to zrobić bo ja nie mam pojęcia? Wiem tylko że do losowania służy funkcja rand() ale ja potrzebuję wylosować z podanego przedziału (cyfr i liter) podaną ilość znaków. Dzięki za pomoc! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 15 Czerwca 2012 Udostępnij Opublikowano 15 Czerwca 2012 ( rand() % ( max - min ) ) + min; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 15 Czerwca 2012 Autor Udostępnij Opublikowano 15 Czerwca 2012 ( rand() % ( max - min ) ) + min; Ten kod losuje 1 liczbę z przedziału liczb a mi chodzi o losowanie wielu znaków (ilość podana ze zmiennej) z podanych liczb i liter Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Czerwca 2012 Administratorzy Udostępnij Opublikowano 15 Czerwca 2012 ASCII -> liczby -> litery. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 15 Czerwca 2012 Autor Udostępnij Opublikowano 15 Czerwca 2012 ASCII -> liczby -> litery. A jak tego użyć? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 15 Czerwca 2012 Udostępnij Opublikowano 15 Czerwca 2012 No lol. Proszę Cię. char znak = ( rand() % ( 'Z' - 'A' ) ) + 'A'; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 15 Czerwca 2012 Autor Udostępnij Opublikowano 15 Czerwca 2012 Aaa. To trzeba było tak od razu! Dzięki, na razie wszystko działa ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Czerwca 2012 Administratorzy Udostępnij Opublikowano 15 Czerwca 2012 Zobacz w wiki co to jest ASCII i jakiej cyfrze odpowiada jaka litera. Albo sprawdź np. printf("%d", 69); printf("%c", 69); przepraszam, ze w C, ale C++ słabo znam :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 15 Czerwca 2012 Udostępnij Opublikowano 15 Czerwca 2012 Zobacz w wiki co to jest ASCII i jakiej cyfrze odpowiada jaka litera. Albo sprawdź np. printf("%d", 69); printf("%c", 69); przepraszam, ze w C, ale C++ słabo znam :P W C++ też jest biblioteka stdio (cstdio) więc tu nie ma różnicy. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mati98Hautameki Opublikowano 16 Czerwca 2012 Udostępnij Opublikowano 16 Czerwca 2012 Masz tu cały kod ASCII #include <iostream> using namespace std; int main() { for(int z=-255; z<255; z++) { cout << z << " " << char(z) << "." << endl; } system("pause"); return 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 18 Czerwca 2012 Autor Udostępnij Opublikowano 18 Czerwca 2012 No lol. Proszę Cię. char znak = ( rand() % ( 'Z' - 'A' ) ) + 'A'; Użyłem tego kodu tylko że pojawił się taki problem: Gdy włączam mój program zawsze losuje się ten sam znak. Jak temu zaradzić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 18 Czerwca 2012 Udostępnij Opublikowano 18 Czerwca 2012 Dołącz #include <time.h> i na początku programu: srand(static_cast<int>(time(NULL))); Wtedy ziarno generatora pseudolosowych liczb ustawia się na czas, który masz w komputerze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 18 Czerwca 2012 Autor Udostępnij Opublikowano 18 Czerwca 2012 Gdy wpisuje ten kod podczas kompilacji pojawiają mi się dwa błędy: Style of function definition is now absolete. ) expected. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 18 Czerwca 2012 Udostępnij Opublikowano 18 Czerwca 2012 //Spróbuj srand((int)time(NULL)); //lub srand(time(NULL)); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 18 Czerwca 2012 Udostępnij Opublikowano 18 Czerwca 2012 for(int z=-255; z<255; z++) DAFUQ? ASCII to 256 znaków od 0 do 255, a nie od -255 D: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 19 Czerwca 2012 Autor Udostępnij Opublikowano 19 Czerwca 2012 //Spróbuj srand((int)time(NULL)); //lub srand(time(NULL)); Żadne z powyższych też mi nie działa :( Co robić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 19 Czerwca 2012 Udostępnij Opublikowano 19 Czerwca 2012 Nauczyć się czytać. http://www.cplusplus.com/reference/clibrary/cstdlib/srand/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mati98Hautameki Opublikowano 20 Czerwca 2012 Udostępnij Opublikowano 20 Czerwca 2012 DAFUQ? ASCII to 256 znaków od 0 do 255, a nie od -255 D: No ale działa. I jest ASCII. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 20 Czerwca 2012 Administratorzy Udostępnij Opublikowano 20 Czerwca 2012 Działa... wiesz, jak przyczepisz do samochodu z tyłu krowę i pojedziesz, to też można powiedzieć czy działa, pytanie, czy prawidłowo... bo jak sobie sprawdzisz jakie wartości char przyjmuje to raczej nie. Ani jakie wartości ma ASCII. A to, ze coś się wyświetla, to znaczy, ze ktoś przewidział, ze się taki ktoś jak Ty znajdzie :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 21 Czerwca 2012 Autor Udostępnij Opublikowano 21 Czerwca 2012 Nauczyć się czytać. http://www.cplusplus.com/reference/clibrary/cstdlib/srand/ Wpisuje srand ( time(NULL) ); według przykładu z tamtej strony ale nie działa. Próbowałem też innych możliwości z tamtej strony ale nic nie działa. Dodam jeszcze że piszę w programie C++ Builder. Może to ma jakieś znaczenie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CrackGM Opublikowano 21 Czerwca 2012 Udostępnij Opublikowano 21 Czerwca 2012 Okej, ale wiesz że srand inicjuje tylko seeda? Musisz przed losowaniem dać srand i potem rand() % x Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 21 Czerwca 2012 Autor Udostępnij Opublikowano 21 Czerwca 2012 Okej, ale wiesz że srand inicjuje tylko seeda? Musisz przed losowaniem dać srand i potem rand() % x Początek programu: //--------------------------------------------------------------------------- #include <vcl\vcl.h> #pragma hdrstop #include <time.h></p><p>#include "Unit1.h" //--------------------------------------------------------------------------- #pragma resource "*.dfm" Tokno *okno; int ilosc=10; srand(time(NULL)); I gdzieś w środku: char znak = ( rand() % ( 'Z' - 'A' ) ) + 'A'; Podczas kompilacji pokazują się dwa błędy: 'time' cannot start a parametr declaration. ) expected. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mati98Hautameki Opublikowano 21 Czerwca 2012 Udostępnij Opublikowano 21 Czerwca 2012 Tu macie całą tablicę ASCII (kolumna DEC) http://ascii-code.com/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 21 Czerwca 2012 Administratorzy Udostępnij Opublikowano 21 Czerwca 2012 I nigdzie nie ma tam wartości ujemnych. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się