zliczanie jedynek w tablicy

0

Witam,
Czy mógłby mi ktoś pomóc naprawić ten kod:

 

cout<<"Graf\n";
 #
int tab[3][3], zlicz=0; // 2-wymiarowa tablica
#
 
#
for(int i = 0; i < 3; i++) // wypełnienie jej jedynkami
#
for(int j = 0; j < 3; j++)
#
tab[i][j] = 1;
# 
      int z=3;    
       
        { while (zlicz>z)
        {srand((unsigned)time(0));
        int wiersz = rand() % 3 ; // losowanie nr wiersza
        int kolumna = rand() % 3 ; // losowanie nr kolumny
        
        tab[wiersz][kolumna] = 0; // wstawienie 0 w odpowiedni (wylosowany) wiersz i kolumnę
        }
        zlicz=0;
        for(int i = 0; i < 3; i++)
        for(int j = 0; j < 3; j++)
        if(tab[i][j] == 1) // warunek, jeżeli tab[i][j] == 1 to zlicz++
        zlicz++;
        cout << "Jedynek w tablicy: " << zlicz << "\n"; 
        } ;}
        

{
 for(int i = 0; i < 3; i++) // wypisanie tablicy
for(int j = 0; j < 3; j++)
 cout<<setw(3)<<tab[i][j];
} 

Chodzi mi głównie o to, by za każdym razem, gdy jedynek w tablicy jest więcej, niż jakaś określona przeze mnie liczba (w przykładzie 3) wykonywało na nowo losowanie i w inny wiersz i kolumnę wstawiało kolejne zero, tak długo, aż uzyskam wymaganą liczbę jedynek.

0

http://4programmers.net/Forum/Newbie/179187-tablice_dwuwymiarowe_-_pytania

btw. ten komentarz jest zajedwabisty ;-D

kaka napisał(a)

if(tab[i][j] == 1) // warunek, jeżeli tab[i][j] == 1 to zlicz++
zlicz++;

0

@up no co masz do tego komentarza ;>
To prawdopodobnie jeden i ten sam autor który skorzystał z tamtych kodów

jakoś dziwnie sformatowany ten kod jest.. Co robi klamra przed while ? To cały kod jest ?
Z tego co widzę, pętla 'while' kończ Ci się na 23 linijce...

0
srand(time(0));
int tab[3][3]; // 2-wymiarowa tablica
for(int y=0;y<3;++y) for(int x=0;x<3;++x) tab[y][x]=1;
int zlicz=9;
int z=3;
while (zlicz>z)
  {
   int y=rand()%3,x=rand()%3;
   if(tab[y][x])
     {
      tab[y][x]=0;
      --zlicz;
      //cout<< "Jedynek w tablicy: " << zlicz << "\n";
     }
  }
for(int y=0;y<3;++y,cout<<endl) for(int x=0;x<3;++x)  cout<<tab[i][j]<<' ';

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