brak zrozumienia treści kodu switch, pętla for

0
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    int w=0,p=0;
    srand( time( 0 ) );
    int tab[5];

    for(int i=1;i<=5;i++){
        tab[i]=rand()%2;
        switch(i){
        case 1: w++; break;
        case 0: p++;
        }
        cout<<i<<".  "<<tab[i]<<"   "<<w<<"   "<<p<<endl;
    }
}


Dzień dobry.

Nie potrafię zinterpretować co tam napisałem. Program działa lecz nieco się pogubiłem. Nie jestem do końca pewien jak działa break;.

Dziękuję

0

program losuje 5 liczb <0,1> . w momencie wylosowania 1 chce aby program przestal losowac i wyswietlil liczby do momentu wylosowania 1.

0

W switchu powinieneś przekazywać tab[i] a nie "i", bo w tym momencie sprawdzasz iterator a nie wylosowaną liczbę.
Z reguły indeksy zaczynamy od 0 nie od 1. ( w tablicy )

0

nie , po przekazaniu do switcha tab[i] dalej to samo. wiem o tej zasadzie z tablica, ale to dla mojej potrzeby

0

program powinien przestac pracowac jak trafi za 3-cim razem 1. i wyswietlic wyniki od 1-3. a ten wyswietla mi caly czas 5. nie rozumiem

0

i co nikt nie jest w stanie pomoc? udzielic wskazowki lub uwagi? jak czeba to zaplace, chyba nie jest to wielki problem nakierowac.

0

dostalem odp na innym forum a wzasadzie sam do tego dojde. do widzenia

0

Nikt nie pomaga, bo wszyscy wiedzą, do czego może doprowadzić takie przypadkowe programowanie. Możesz napisać przypadkiem wirusa nawet o tym nie wiedząc i w najlepszym wypadku zepsujesz forum, a w najgorszym może nawet cały internet. Nikt nie chce być współwinny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1