Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] Problem z losowaniem.


Rekomendowane odpowiedzi

Opublikowano

Witam. Potrzebuję zrobić program który będzie mi losował 2 cyfry z 9 i mam pewien problem, otóż CodeBlocks wywala mi error:

 

error: expected primary-expression before 'int'

error: expected ')' before 'int'

 

Oba - 28 linia. Natomiast nie widzę nigdzie żeby brakowało ) czy też ; dlatego nie wiem w czym tkwi problem. Ktoś mógłby mi kod poprawić?

 

#include <iostream>
#include <ctime>
#include <stdlib.h>

using namespace std;

int main()
{
   const unsigned AMOUNT_OF_NUMBERS = 2;
   const int MAX_NUMBER = 9;

   // -------------------------- //

   unsigned intNumbers[AMOUNT_OF_NUMBERS];
   for (int i = 0; i < AMOUNT_OF_NUMBERS; i++)
       intNumbers[i] = 0;

   // VALID LOTTERY PART //

   srand(static_cast<int>(time(NULL)));
   for (int i = 0; i < AMOUNT_OF_NUMBERS;)
   {
       intNumbers[i] = rand() % MAX_NUMBER + 1;
       // CHECKING IF NUMBER REPEATS //
       bool bRepeats = false;
       for (int j = 0; j < i; j++)
       {
           if (int intNumbers[j] == int intNumbers[i])
           {
               bRepeats = true;
               break;
           }
       }
       if (!bRepeats) ++i;

   }
   cout << "SCORE:" << endl;
   for (int i = 0; i < AMOUNT_OF_NUMBERS; i++)
   cout << intNumbers[i] << " ";

   system("PAUSE");
   return 0;
}

Y U NO LEIK MEH?!

TROLOLOLOLLOLOLOLOLOLOL!

Daj +

Opublikowano

Dziękuję. :) Mam tylko pytanie, dlaczego nie losuje mi wszystkich kombinacji?

 

Np. nie wylosowało mi 9 , 1 lub 7,6 czy też 8,2 ani razu. A z 200 razy to włączyłem i zdecydowanie zauwazylem ze powtarza sie np 9,5 lub 1,4 itp. Dlaczego?

Moglby to ktos poprawic ewentualnie? :) Dzięki!

Y U NO LEIK MEH?!

TROLOLOLOLLOLOLOLOLOLOL!

Daj +

Weteran
Opublikowano

Dziękuję. :) Mam tylko pytanie, dlaczego nie losuje mi wszystkich kombinacji?

 

Np. nie wylosowało mi 9 , 1 lub 7,6 czy też 8,2 ani razu. A z 200 razy to włączyłem i zdecydowanie zauwazylem ze powtarza sie np 9,5 lub 1,4 itp. Dlaczego?

Moglby to ktos poprawic ewentualnie? :) Dzięki!

Raczej wydaje ci się.

Zapętl program do 10 razy i sprawdź czy faktycznie jakaś kombinacja będzie bardzo się powtarzać.

Opublikowano

Nie zapominaj, że rand() zwraca tak naprawdę liczby pseudo-losowe. Jak potrzebujesz prawdziwej losowości możesz skorzystać z random.org. Udostępniają oni API, dzięki któremu bez problemu wylosujesz liczbę do swojego programu.

mjut.png
Opublikowano

To jest program w C. Analogiczny w C++:

 

std::set<int> a; if ( AMOUNT > MAX ) throw;
while (a.length()!=AMOUNT)
  a.insert(rand()%MAX+1);

 

 

"Stwieście razy sprwadziłem i widzę":

http://pl.wikipedia...._wielkich_liczb

 

Mas przy sobie kompilator i język z których ( jako jako tako ) umiesz korzystać:

Czy to taki problem walnąć pętlę (@Xualin "10 razy", buahahahaha) while(true) i na bieżąco w czasie sobie zobaczyć, jak zmienia się stosunek określonych "wylosowań"?

 

10 minut na program i 30 sekund na obserwację i oszczędziłbyś sobie takich sztwierdzeń zdeszydowanie zauwaszanych.

 

@DOWN

C to stan umysłu - sposób rozwiązania problemu na statycznych tablicach i const'ach jest typowy dla C.

AFAIR, fachowy termin brzmi "C with cout". I mniej więcej tym był ten program.

Ta sygnatura jest pusta.

Opublikowano

To jest program w c?

 

A kompilator C nie chce mi skompilować (asz 19 eroruw), tylko c++ :( Więc jakim cudem to jest program w C ?

 

 

ps. weź się łaskawie za ten jebany konkurs

"Ja nic nie wiem, 4ggr nie odpowiada, więc lipa... :/ Najlepiej by było jakbyście do neigo pisali wszyscy "

Zamykam temat, bo autor nie trzyma poziomu.

....

Polityka forum zakazuję nam zamykać tematy, tylko dlatego, że są na niskim poziomie.

I lold.
Opublikowano

bo to nie jest program w C tylko C++ sądząc po nagłówkach.

A dziwienie się czemu jakaś para ci nie wypada jest nie na miejscu...

A tak w ogóle to C++ jest hujowy, przestarzały i nie warto go używać. Bo tak.

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Weteran
Opublikowano

bo to nie jest program w C tylko C++ sądząc po nagłówkach.

A dziwienie się czemu jakaś para ci nie wypada jest nie na miejscu...

A tak w ogóle to C++ jest hujowy, przestarzały i nie warto go używać. Bo tak.

Hobby:

[...]Programowanie(ASM x86, C\C++, Ruby, Ada, Pascal, Python, Perl, Smalltalk)[...]

 

Odezwał się programista nowoczesnych języków.

Tak, c++ jest stary, ale nie hujowy. Uważa się, że każdy programista powinien go znać.(nie wiem czemu, ale chyba dlatego że jest tak popularny)

Ale z drugiej strony każdy programista również powinien znać coś więcej niż c++.

Opublikowano
A tak w ogóle to C++ jest hujowy, przestarzały i nie warto go używać. Bo tak.

Tak, masz rację... Wszyscy teraz się z tobą zgadzamy. Twoje argumenty przekonały wszystkich. Wygrałeś. Teraz idź głosić prawdę gdzie indziej.

Opublikowano

bo to nie jest program w C tylko C++ sądząc po nagłówkach.

A dziwienie się czemu jakaś para ci nie wypada jest nie na miejscu...

A tak w ogóle to C++ jest hujowy, przestarzały i nie warto go używać. Bo tak.

 

Po części jest to prawda. Ostatnio jest moda na języki o wyższym poziomie abstrakcji i zarządzane, jak Java czy C#. Do pisania zwykłych aplikacji sprawdzają się IMO dużo lepiej. Trudno nie odczuć archaiczności C++, jednak mimo to, nie przestanie być on używany, bo jest to jednak jeden z lepszych języków kompilowanych no natywnych binarek na dość niskim poziomie. Mam nadzieję, że C++11 przyniesie dużo świeżości, bo obecnie pisanie w nim to troszkę mordęga po przyzwyczajeniach z nowocześniejszych rozwiązań.

 

btw, mimo, że natywny kod jest z reguły szybszy to może się zdarzyć, że aplikacja wykonywana przez CLR lepiej sobie poradzi.

mjut.png
Opublikowano

LOL. Ja tu z was B.K'e niczym megagimb cisne, że to na serio wzieliście. No, ale to niestety prawda.

@mjut: zwłaszcza jeżeli masz sporo abstrakcyjnych klas w C++, to wychodzi z tego muł.

Prawda jest taka że obecnie nie potrzebny jest prawie nikomu kod natywny, bo różnic w zasadzie nie odczujesz i tak...

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

Nie zapominaj, że rand() zwraca tak naprawdę liczby pseudo-losowe. Jak potrzebujesz prawdziwej losowości możesz skorzystać z random.org. Udostępniają oni API, dzięki któremu bez problemu wylosujesz liczbę do swojego programu.

Prawdziwa losowość nie istnieje. Ot takie sprostowanie :E

Jeśli programy napisane w danym języku potrafią wycisnąć z PC co się da + lubicie go to z niego korzystajcie. Proste :E

 

Prawda jest taka że obecnie nie potrzebny jest prawie nikomu kod natywny, bo różnic w zasadzie nie odczujesz i tak...

No, masz rację. Spowolnijmy coś co chcemy przyspieszyć (bo różnic w zasadzie nie odczujemy, nawet doskonaląc technologię kilka lat). Zgodzić się można, że nie wszystkim (ale nie prawie nikomu) jest on faktycznie potrzebny. Do prostych programów użytkowych OK, do lepszych już nie. W każdym bądź razie zależy czy programista chce wydajności czy szybko napisać kod.

YOU MUST DIE

- Ganon, Koridai

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...