Salve ragazzi, mi son iscritto a questo forum perchè ho un problema con l'ultima parte del mio progetto, la parte e:
Dopo aver sviluppato un algoritmo per la simulazione di dinamica di cellule, considerando un array
2D 80x80, una cellula può essere bianca o nera. Una cellula bianca viene visualizzata con uno spazio (blank ‘ ‘), una cellula nera con ‘X’. All’inizio vi è solo una cellula nera, al centro della prima riga; tutte le altre cellule sono bianche. Sviluppare un algoritmo iterativo che, a partire dalla prima riga, a ogni passo aggiorna una sola riga dell’array, ovvero al secondo passo aggiorna la
seconda riga, al terzo passo aggiorna la terza riga e così via, fino all’ultima riga. Al passo
i-simo, la riga i-sima viene aggiornata considerando solo la riga (i-1)-sima, secondo la
seguente regola:
la cellula j della riga i-sima diventa nera se
a. nella riga (i-1)-sima la cellula j e la cellula j-1 sono nere e la cellula j+1 è
bianca;
b. nella riga (i-1)-sima la cellula j-1 è nera e le cellule j e j+1 sono bianche;
c. nella riga (i-1)-sima la cellula j e la cellula j+1 sono nere e la cellula j-1 è
bianca;
d. nella riga (i-1)-sima la cellula j+1 è nera e le cellule j e j-1 sono bianche;
e. la cellula j della riga i-sima diventa nera se nella riga (i-1)-sima la cellula j o la cellula j-1 o la cellula j+1 sono nere;
   void simulazionecellule(char cellule[80][80])
    {         
    
    int i=0; 
    int j=0;
    int r=80;
    int c=80;    
    char nera='X';
    char bianca=' ';
    
        
        for(i=0;i<r;i++) 
        {
           for(j=0;j<c;j++)
           {          
              cellule[i][j]=bianca;
           }
        }   
        
    //    solo la cellula a metà della prima riga è nera
         cellule[0][c/2]=nera;
             
     
         //inizio dalla prima riga
         
       for(i=0;i<r;i++) 
        {
           for(j=0;j<c;j++)
           {
            if(i!=0 && (j!=0 || j!=c) )
              {          
                //sono in una cella che può essere analizzata, 
                //cioè che mi permette di controllare la riga precedente e le colonne precedenti e seguenti della cella di riferimento
                
                if(cellule[i-1][j]==nera && cellule[i-1][j-1]==nera && cellule[i-1][j+1]==bianca) //condizione a
                  {
                    cellule[i][j]=nera;
                  }                    
                if(cellule[i-1][j]==bianca && cellule[i-1][j-1]==nera && cellule[i-1][j+1]==bianca) //condizione b
                  {
                    cellule[i][j]=nera;
                  }   
                if(cellule[i-1][j]==nera && cellule[i-1][j-1]==bianca && cellule[i-1][j+1]==nera) //condizione c
                  {
                    cellule[i][j]=nera;
                  }   
                if(cellule[i-1][j]==bianca && cellule[i-1][j-1]==bianca && cellule[i-1][j+1]==nera) //condizione d
                  {
                    cellule[i][j]=nera;
                  }    
              }//if
           }//for su j
           
           if(i==3 || i==7 || i==15 || i==31 || i==63 || i==79)//se sono ai passi indicati da stampare
                  {
                       //stampo a video l'array 
                       stampacellule(cellule);                       
                  }                        
        }    //for su i         
    }// fine function simulazionecellule
ora dovrei implementare il punto e, qualcuno può darmi qualche dritta? grazie mille in anticipo.