3 / 3
Nov 2017
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand(time(0));
    int w = 0;
    int ww = 0;
    int p = -2;
    int suma = ww + p;
    int r;

    int counter;
    for (counter = 1; counter < 100; counter++) {
        r = rand() % 2;
        cout << r;

        int innercounter1;
        for (innercounter1 = 1; innercounter1 < 2; innercounter1++) {
            r;
            if (r == 1)
                w++;
            break;

            int innercounter2;
            for (innercounter2 = 1; innercounter2 < 1; innercounter2++) {
                r;
                if (r == 1)
                    w++;
                break;

                int innercounter3;
                for (innercounter3 = 1; innercounter3 < 2; innercounter3++) {
                    r;
                    if (r == 1)
                        w++;
                    break;

                    int innercounter4;
                    for (innercounter4 = 1; innercounter4 < 2; innercounter4++) {
                        r;
                        if (r == 1)
                            w++;
                        break;

                        int innercounter5;
                        for (innercounter5 = 1; innercounter5 < 2; innercounter5++) {
                            r;
                            if (r == 1) {
                                w++;
                                break;
                            }
                            else {
                                p++;
                            }

                            int innercounter6;
                            for (innercounter6 = 1; innercounter6 < 2; innercounter6++) {
                                r;
                                if (suma = 0) {
                                    w++;
                                    break;
                                }
                                if (r == 1) {
                                    ww++;
                                }
                                else {
                                    p++;
                                }

                                int innercounter7;
                                for (innercounter7 = 1; innercounter7 < 2; innercounter7++) {
                                    r;
                                    if (suma = 0) {
                                        w++;
                                        break;
                                    }
                                    if (r == 1) {
                                        ww++;
                                    }
                                    else {
                                        p++;
                                    }

                                    int innercounter8;
                                    for (innercounter8 = 1; innercounter8 < 2; innercounter8++) {
                                        r;
                                        if (suma = 0) {
                                            w++;
                                            break;
                                        }
                                        if (r == 1) {
                                            ww++;
                                        }
                                        else {
                                            p++;
                                        }

                                        int innercounter9;
                                        for (innercounter9 = 1; innercounter9 < 2; innercounter9++) {
                                            r;
                                            if (suma = 0) {
                                                w++;
                                                break;
                                            }

                                            if (r == 1) {
                                                ww++;
                                            }
                                            else {
                                                p++;
                                            }

                                            int innercounter10;
                                            for (innercounter10 = 1; innercounter10 < 2; innercounter10++) {
                                                r;
                                                if (suma = 0) {
                                                    w++;
                                                    break;
                                                }
                                                if (r == 1) {
                                                    ww++;
                                                }
                                                else {
                                                    p++;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    cout << endl
         << "wygranych:" << w << endl;
    cout << "przegranych:" << suma << endl;
    cout << "p:" << p << endl;
    cout << "ww:" << ww << endl;
}

Nie potrafię zrozumieć dlaczego program nie zlicza ww p oraz dlaczego nie sumuje, doliczając w w momencie kiedy suma wyniesie 0. Coś porobiłem na opak. Pogubiłem się nieco.
I can not understand why does not the program sum up ww and p and why does not sum up w when the sum equals to 0.

Z góry dziękuję za pomoc.
Thanks in advance.

  • created

    Nov '17
  • last reply

    Nov '17
  • 2

    replies

  • 1.0k

    views

  • 2

    users

  • 1

    link

gdybyś jeszcze napisał co chciałeś zrobić :slight_smile: - to może by było łatwiej udzielić odpowiedzi

czy o debugowaniu programu słyszałeś ?

pętla dla innercounter1 wykonuje się tylko raz - więc po co ta pętla ?

pętla dla innercounter2 nie wykonuje się wcale

  1. bo po pierwsze nigdy do niej program nie dochodzi - instrukcja break przed nią jest
  2. a gdyby program do niej doszedł to warunek od razu jest niespełniony bo 1 nie jest < 1

co do dalszych pętli to już nie warto pisać :slight_smile:

pomyśl raczej nad funkcją rekurencyjną zamiast bezmyślnie wielokrotnie zagniezdzać pętle

i do tego ten pl na końcu:) dziękuję za pomoc, jestem “samoukiem”, chce napisac program ale jeszcze nie rozumiem c++ wystarczajaco dobrze.

chce aby program wykonal 10 krokow losujac spomiedzy<0,1> w pewnej liczbie losowan, w tym przypadku 99.
dziękuję.