Funzioni in C

di Anonimizzato6881 il
4 risposte
Giuro che sto uscendo pazzo.. Allora ho fatto questo programma che in pratica simula gli autoscontri.. Le hanno delle percentuali di spostamento. Il programma termina quando due auto si scontrano:

Questo funziona
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main ()
{
     char pista[][7]={{' ',' ',' ','B',' ',' ',' '},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {'A',' ',' ',' ',' ',' ','C'},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {' ',' ',' ','D',' ',' ',' '}};
     int i,j,x1=3,x2=0,x3=3,x4=6,y1=0,y2=3,y3=6,y4=3,A=1,B=100,nc,z=0;
     
     srand((unsigned int)time(0));
     
     for(i=0;i<7;i++)  //visualizzo la pista con le auto
     {
         for(j=0;j<7;j++)
         {       
             printf(" %c",pista[i][j]);
         }
         printf("\n");
     }
     printf("\n------------------------------\n\nPremi Invio per iniziare a giocare\n");
     getchar();
    
     do
     {
           //giocatore1 (A)
           nc=A+rand()%(B+1-A); //genero un numero casuale per vedere in quale posizione si deve spostare
           if(nc<=20 && y1!=6) //va a destra
           {
                pista[x1][y1]=' ';
                y1++;
                if (pista[x1][y1]=='B' || pista[x1][y1]=='C' || pista[x1][y1]=='D')
                z++;  
                else
                pista[x1][y1]='A';              
           }
           if(nc>=21 && nc<=40 && y1!=0) //per andare a sinistra
           {
                pista[x1][y1]=' '; //svuoto la posizione precedente
                y1--;
                if (pista[x1][y1]=='B' || pista[x1][y1]=='C' || pista[x1][y1]=='D') //se la prossima posizione è gia occupata...
                z++;  //...incremento z di 1
                else
                pista[x1][y1]='A';    //altrimenti vado a sinistra normalmente
           }
           if(nc>=41 && nc<=70 && x1!=0) //per andare sopra
           {
                pista[x1][y1]=' ';
                x1--;
                if (pista[x1][y1]=='B' || pista[x1][y1]=='C' || pista[x1][y1]=='D')
                z++;  
                else
                pista[x1][y1]='A';   
           }
           if(nc>=71 && nc<=100 && x1!=6) //per andare sotto
           {
                pista[x1][y1]=' ';
                x1++;
                if (pista[x1][y1]=='B' || pista[x1][y1]=='C' || pista[x1][y1]=='D')
                z++;  
                else
                pista[x1][y1]='A';    
           }
           
       
       //giocatore2 (B)
           nc=A+rand()%(B+1-A);
           if(nc<=40 && y2!=6) //per andare a destra
           {
                pista[x2][y2]=' ';
                y2++;
                if (pista[x2][y2]=='A' || pista[x2][y2]=='C' || pista[x2][y2]=='D')
                z++;  
                else
                pista[x2][y2]='B';      
           }
           if(nc>=41 && nc<=50 && y2!=0) //per andare a sinistra
           {
                pista[x2][y2]=' ';
                y2--;
                if (pista[x2][y2]=='A' || pista[x2][y2]=='C' || pista[x2][y2]=='D')
                z++;  
                else
                pista[x2][y2]='B'; 
           }
           if(nc>=51 && nc<=65 && x2!=0) //per andare sopra
           {
                pista[x2][y2]=' ';
                x2--;
                if (pista[x2][y2]=='A' || pista[x2][y2]=='C' || pista[x2][y2]=='D')
                z++;  
                else
                pista[x2][y2]='B'; 
           }
           if(nc>=66 && nc<=100 && x2!=6) //per andare sotto
           {
                pista[x2][y2]=' ';
                x2++;
                if (pista[x2][y2]=='A' || pista[x2][y2]=='C' || pista[x2][y2]=='D')
                z++;  
                else
                pista[x2][y2]='B'; 
           }
           
             
             //giocatore3 (C)
           nc=A+rand()%(B+1-A);
           if(nc<=30 && y3!=6) //per andare a destra
           {
                pista[x3][y3]=' ';
                y3++;
               if (pista[x3][y3]=='A' || pista[x3][y3]=='B' || pista[x3][y3]=='D')
                z++;  
                else
                pista[x3][y3]='C'; 
           }
           if(nc>=31 && nc<=50 && y3!=0) //per andare a sinistra
           {
                pista[x3][y3]=' ';
                y3--;
                if (pista[x3][y3]=='A' || pista[x3][y3]=='B' || pista[x3][y3]=='D')
                z++;  
                else
                pista[x3][y3]='C'; 
           }
           if(nc>=51 && nc<=55 && x3!=0) //per andare sopra
           {
                pista[x3][y3]=' ';
                x3--;
                if (pista[x3][y3]=='A' || pista[x3][y3]=='B' || pista[x3][y3]=='D')
                z++;  
                else
                pista[x3][y3]='C'; 
           }
           if(nc>=56 && nc<=100 && x3!=6) //per andare sotto
           {
                pista[x3][y3]=' ';
                x3++;
                if (pista[x3][y3]=='A' || pista[x3][y3]=='B' || pista[x3][y3]=='D')
                z++;  
                else
                pista[x3][y3]='C'; 
           }
           
                     
               //giocatore4 (D)
           nc=A+rand()%(B+1-A);
           if(nc<=20 && y4!=6) //per andare a destra
           {
                pista[x4][y4]=' ';
                y4++;
                if (pista[x4][y4]=='A' || pista[x4][y4]=='B' || pista[x4][y4]=='C')
                z++;  
                else
                pista[x4][y4]='D'; 
           }
           if(nc>=21 && nc<=50 && y4!=0) //per andare a sinistra
           {
                pista[x4][y4]=' ';
                y4--;
                if (pista[x4][y4]=='A' || pista[x4][y4]=='B' || pista[x4][y4]=='C')
                z++;  
                else
                pista[x4][y4]='D';
           }
           if(nc>=51 && nc<=75 && x4!=0) //per andare sopra
           {
                pista[x4][y4]=' ';
                x4--;
                if (pista[x4][y4]=='A' || pista[x4][y4]=='B' || pista[x4][y4]=='C')
                z++;  
                else
                pista[x4][y4]='D';
           }
           if(nc>=76 && nc<=100 && x4!=6) //per andare sotto
           {
                pista[x4][y4]=' ';
                x4++;
                if (pista[x4][y4]=='A' || pista[x4][y4]=='B' || pista[x4][y4]=='C')
                z++;  
                else
                pista[x4][y4]='D';
           }
              
       printf("\n-----------------------------\n\n");
       for(i=0;i<7;i++)
       {
         for(j=0;j<7;j++)
         {       
             printf(" %c",pista[i][j]);
         }
         printf("\n");
       } 
       getchar();

       if (z>0) //se z è maggiore di uno vuol dire che c'è stato uno o più scontri quindi il programma termina
       {       printf("SCONTRO! FINE PARTITA\n\n"); }
      
      } while (z==0);
               
     printf("Alla prossima!!\n\n");                                  
     getch();
}
Quando cerco di creare delle funzioni per gli spostamenti non funziona piu bene.. E pure i procedimenti sono gli stessi..

Ecco il codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void destra (char pista[][7],int x1,int y1,int z1);
void sinistra (char pista[][7],int x2,int y2,int z2);
void sopra (char pista[][7],int x3,int y3,int z3);
void sotto (char pista[][7],int x4,int y4,int z4);
void main ()
{
     char pista[][7]={{' ',' ',' ','X',' ',' ',' '},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {'X',' ',' ',' ',' ',' ','X'},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {' ',' ',' ',' ',' ',' ',' '},
                      {' ',' ',' ','X',' ',' ',' '}};
     int i,j,x1=3,x2=0,x3=3,x4=6,y1=0,y2=3,y3=6,y4=3,A=1,B=100,nc=0,z=0;
     
     srand((unsigned int)time(0));
     
     for(i=0;i<7;i++)  //visualizzo la pista con le auto
     {
         for(j=0;j<7;j++)
         {       
             printf(" %c",pista[i][j]);
         }
         printf("\n");
     }
     printf("\n------------------------------\n\nPremi Invio per iniziare a giocare\n");
     getchar();
    
     do
     {
           //giocatore1 (A)
           nc=A+rand()%(B+1-A); //genero un numero casuale per vedere in quale posizione si deve spostare
           if(nc<=20 && y1!=6) //va a destra
           {
                destra (pista,x1,y1,z);             
           }
           if(nc>=21 && nc<=40 && y1!=0) //per andare a sinistra
           {
                sinistra (pista,x1,y1,z);  
           }
           if(nc>=41 && nc<=70 && x1!=0) //per andare sopra
           {
                sopra (pista,x1,y1,z);   
           }
           if(nc>=71 && nc<=100 && x1!=6) //per andare sotto
           {
                sotto (pista,x1,y1,z);      
           }
           
       
       //giocatore2 (B)
           nc=A+rand()%(B+1-A);
           if(nc<=40 && y2!=6) //per andare a destra
           {
                destra (pista,x2,y2,z);       
           }
           if(nc>=41 && nc<=50 && y2!=0) //per andare a sinistra
           {
                sinistra (pista,x2,y2,z); 
           }
           if(nc>=51 && nc<=65 && x2!=0) //per andare sopra
           {
                sopra (pista,x2,y2,z); 
           }
           if(nc>=66 && nc<=100 && x2!=6) //per andare sotto
           {
                sotto (pista,x2,y2,z); 
           }
           
             
             //giocatore3 (C)
           nc=A+rand()%(B+1-A);
           if(nc<=30 && y3!=6) //per andare a destra
           {
                destra (pista,x3,y3,z);  
           }
           if(nc>=31 && nc<=50 && y3!=0) //per andare a sinistra
           {
                sinistra (pista,x3,y3,z);
           }
           if(nc>=51 && nc<=55 && x3!=0) //per andare sopra
           {
                sopra (pista,x3,y3,z);
           }
           if(nc>=56 && nc<=100 && x3!=6) //per andare sotto
           {
                sotto (pista,x3,y3,z);
           }
           
                     
               //giocatore4 (D)
           nc=A+rand()%(B+1-A);
           if(nc<=20 && y4!=6) //per andare a destra
           {
                destra (pista,x4,y4,z); 
           }
           if(nc>=21 && nc<=50 && y4!=0) //per andare a sinistra
           {
                sinistra (pista,x4,y4,z); 
           }
           if(nc>=51 && nc<=75 && x4!=0) //per andare sopra
           {
                sopra (pista,x4,y4,z); 
           }
           if(nc>=76 && nc<=100 && x4!=6) //per andare sotto
           {
                sotto (pista,x4,y4,z); 
           }
              
       printf("\n-----------------------------\n\n");
       for(i=0;i<7;i++)
       {
         for(j=0;j<7;j++)
         {       
             printf(" %c",pista[i][j]);
         }
         printf("\n");
       } 
       getchar();

       if (z>0) //se z è maggiore di uno vuol dire che c'è stato uno o più scontri quindi il programma termina
       {       printf("SCONTRO! FINE PARTITA\n\n"); }
      
      } while (z==0);
               
     printf("Alla prossima!!\n\n");                                  
     getch();
}

void destra (char pista[][7],int x1,int y1,int z1)
{
     pista[x1][y1]=' ';
     y1++;
     if (pista[x1][y1]=='X' || pista[x1][y1]=='X' || pista[x1][y1]=='X')
     z1++;  
     else
     pista[x1][y1]='X'; 
}

void sinistra (char pista[][7],int x2,int y2,int z2)
{
     pista[x2][y2]=' '; 
     y2--;
     if (pista[x2][y2]=='X' || pista[x2][y2]=='X' || pista[x2][y2]=='X') 
     z2++;  
     else
     pista[x2][y2]='X';   
}

void sopra (char pista[][7],int x3,int y3,int z3)
{
     pista[x3][y3]=' ';
     x3--;
     if (pista[x3][y3]=='X' || pista[x3][y3]=='X' || pista[x3][y3]=='X')
     z3++;  
     else
     pista[x3][y3]='X';   
}

void sotto (char pista[][7],int x4,int y4,int z4)
{
     pista[x4][y4]=' ';
     x4++;
     if (pista[x4][y4]=='X' || pista[x4][y4]=='X' || pista[x4][y4]=='X')
     z4++;  
     else
     pista[x4][y4]='X';   
} 
Sarà che ho 39 di febbre ma io non riesco a capire.. io vedo tutto uguale e pure il secondo non funziona..

Grazie per eventuali risposte.

4 Risposte

  • Stai sbagliando il passaggio delle variabili. Li stai passanto per valore e non per riferimento. Ogni cambiamento che fai nelle funzioni nei variabili x1,y1 e z1 vengono perse appena la funzione termina.
  • Ho provato ad usare i puntatori ma non va lo stesso..
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    void destra (char pista[][7],int *x1,int *y1,int *z1);
    void sinistra (char pista[][7],int *x2,int y2,int *z2);
    void sopra (char pista[][7],int *x3,int *y3,int *z3);
    void sotto (char pista[][7],int *x4,int *y4,int *z4);
    void main ()
    {
         char pista[7][7]={{' ',' ',' ','X',' ',' ',' '},
                          {' ',' ',' ',' ',' ',' ',' '},
                          {' ',' ',' ',' ',' ',' ',' '},
                          {'X',' ',' ',' ',' ',' ','X'},
                          {' ',' ',' ',' ',' ',' ',' '},
                          {' ',' ',' ',' ',' ',' ',' '},
                          {' ',' ',' ','X',' ',' ',' '}};
         int i,j,x1=3,x2=0,x3=3,x4=6,y1=0,y2=3,y3=6,y4=3,A=1,B=100,nc=0,z=0;
         
         srand((unsigned int)time(0));
         
         for(i=0;i<7;i++)  //visualizzo la pista con le auto
         {
             for(j=0;j<7;j++)
             {       
                 printf(" %c",pista[i][j]);
             }
             printf("\n");
         }
         printf("\n------------------------------\n\nPremi Invio per iniziare a giocare\n");
         getchar();
        
         do
         {
               //giocatore1 (A)
               nc=A+rand()%(B+1-A); //genero un numero casuale per vedere in quale posizione si deve spostare
               if(nc<=20 && y1!=6) //va a destra
               {
                    destra (pista,&x1,&y1,&z);             
               }
               if(nc>=21 && nc<=40 && y1!=0) //per andare a sinistra
               {
                    sinistra (pista,&x1,&y1,&z);  
               }
               if(nc>=41 && nc<=70 && x1!=0) //per andare sopra
               {
                    sopra (pista,&x1,&y1,&z);   
               }
               if(nc>=71 && nc<=100 && x1!=6) //per andare sotto
               {
                    sotto (pista,&x1,&y1,&z);      
               }
               
           
           //giocatore2 (B)
               nc=A+rand()%(B+1-A);
               if(nc<=40 && y2!=6) //per andare a destra
               {
                    destra (pista,&x2,&y2,&z);       
               }
               if(nc>=41 && nc<=50 && y2!=0) //per andare a sinistra
               {
                    sinistra (pista,&x2,&y2,&z); 
               }
               if(nc>=51 && nc<=65 && x2!=0) //per andare sopra
               {
                    sopra (pista,&x2,&y2,&z); 
               }
               if(nc>=66 && nc<=100 && x2!=6) //per andare sotto
               {
                    sotto (pista,&x2,&y2,&z); 
               }
               
                 
                 //giocatore3 (C)
               nc=A+rand()%(B+1-A);
               if(nc<=30 && y3!=6) //per andare a destra
               {
                    destra (pista,&x3,&y3,&z);  
               }
               if(nc>=31 && nc<=50 && y3!=0) //per andare a sinistra
               {
                    sinistra (pista,&x3,&y3,&z);
               }
               if(nc>=51 && nc<=55 && x3!=0) //per andare sopra
               {
                    sopra (pista,&x3,&y3,&z);
               }
               if(nc>=56 && nc<=100 && x3!=6) //per andare sotto
               {
                    sotto (pista,&x3,&y3,&z);
               }
               
                         
                   //giocatore4 (D)
               nc=A+rand()%(B+1-A);
               if(nc<=20 && y4!=6) //per andare a destra
               {
                    destra (pista,&x4,&y4,&z); 
               }
               if(nc>=21 && nc<=50 && y4!=0) //per andare a sinistra
               {
                    sinistra (pista,&x4,&y4,&z); 
               }
               if(nc>=51 && nc<=75 && x4!=0) //per andare sopra
               {
                    sopra (pista,&x4,&y4,&z); 
               }
               if(nc>=76 && nc<=100 && x4!=6) //per andare sotto
               {
                    sotto (pista,&x4,&y4,&z); 
               }
                  
           printf("\n-----------------------------\n\n");
           for(i=0;i<7;i++)
           {
             for(j=0;j<7;j++)
             {       
                 printf(" %c",pista[i][j]);
             }
             printf("\n");
           } 
           getchar();
    
           if (z>0) //se z è maggiore di uno vuol dire che c'è stato uno o più scontri quindi il programma termina
           {       printf("SCONTRO! FINE PARTITA\n\n"); }
          
          } while (z==0);
                   
         printf("Alla prossima!!\n\n");                                  
         getch();
    }
    
    void destra (char pista[][7],int *x1,int *y1,int *z1)
    {
         pista[*x1][*y1]=' ';
         *y1++;
         if (pista[*x1][*y1]=='X' || pista[*x1][*y1]=='X' || pista[*x1][*y1]=='X')
         *z1++;  
         else
         pista[*x1][*y1]='X'; 
    }
    
    void sinistra (char pista[][7],int *x2,int *y2,int *z2)
    {
         pista[*x2][*y2]=' '; 
         *y2--;
         if (pista[*x2][*y2]=='X' || pista[*x2][*y2]=='X' || pista[*x2][*y2]=='X') 
         *z2++;  
         else
         pista[*x2][*y2]='X';   
    }
    
    void sopra (char pista[][7],int *x3,int *y3,int *z3)
    {
         pista[*x3][*y3]=' ';
         *x3--;
         if (pista[*x3][*y3]=='X' || pista[*x3][*y3]=='X' || pista[*x3][*y3]=='X')
         *z3++;  
         else
         pista[*x3][*y3]='X';   
    }
    
    void sotto (char pista[][7],int *x4,int *y4,int *z4)
    {
         pista[*x4][*y4]=' ';
         *x4++;
         if (pista[*x4][*y4]=='X' || pista[*x4][*y4]=='X' || pista[*x4][*y4]=='X')
         *z4++;  
         else
         pista[*x4][*y4]='X';   
    } 
    
    Dove sbaglio?
  • 
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    void destra (char pista[][7],int *x1,int *y1,int *z1);
    void sinistra (char pista[][7],int *x2,int y2,int *z2);
    void sopra (char pista[][7],int *x3,int *y3,int *z3);
    void sotto (char pista[][7],int *x4,int *y4,int *z4);
    void main ()
    {
    	char pista[7][7]={{' ',' ',' ','X',' ',' ',' '},
    	{' ',' ',' ',' ',' ',' ',' '},
    	{' ',' ',' ',' ',' ',' ',' '},
    	{'X',' ',' ',' ',' ',' ','X'},
    	{' ',' ',' ',' ',' ',' ',' '},
    	{' ',' ',' ',' ',' ',' ',' '},
    	{' ',' ',' ','X',' ',' ',' '}};
    	int i,j,x1=3,x2=0,x3=3,x4=6,y1=0,y2=3,y3=6,y4=3,A=1,B=100,nc=0,z=0;
    
    	srand((unsigned int)time(0));
    
    	for(i=0;i<7;i++)  //visualizzo la pista con le auto
    	{
    		for(j=0;j<7;j++)
    		{       
    			printf(" %c",pista[i][j]);
    		}
    		printf("\n");
    	}
    	printf("\n------------------------------\n\nPremi Invio per iniziare a giocare\n");
    	getchar();
    
    	do
    	{
    		//giocatore1 (A)
    		nc=A+rand()%(B+1-A); //genero un numero casuale per vedere in quale posizione si deve spostare
    		if(nc<=20 && y1!=6) //va a destra
    		{
    			destra (pista,&x1,&y1,&z);             
    		}
    		if(nc>=21 && nc<=40 && y1!=0) //per andare a sinistra
    		{
    			sinistra (pista,&x1,&y1,&z); 
    		}
    		if(nc>=41 && nc<=70 && x1!=0) //per andare sopra
    		{
    			sopra (pista,&x1,&y1,&z);   
    		}
    		if(nc>=71 && nc<=100 && x1!=6) //per andare sotto
    		{
    			sotto (pista,&x1,&y1,&z);     
    		}
    
    
    		//giocatore2 (B)
    		nc=A+rand()%(B+1-A);
    		if(nc<=40 && y2!=6) //per andare a destra
    		{
    			destra (pista,&x2,&y2,&z);       
    		}
    		if(nc>=41 && nc<=50 && y2!=0) //per andare a sinistra
    		{
    			sinistra (pista,&x2,&y2,&z);
    		}
    		if(nc>=51 && nc<=65 && x2!=0) //per andare sopra
    		{
    			sopra (pista,&x2,&y2,&z);
    		}
    		if(nc>=66 && nc<=100 && x2!=6) //per andare sotto
    		{
    			sotto (pista,&x2,&y2,&z);
    		}
    
    
    		//giocatore3 (C)
    		nc=A+rand()%(B+1-A);
    		if(nc<=30 && y3!=6) //per andare a destra
    		{
    			destra (pista,&x3,&y3,&z); 
    		}
    		if(nc>=31 && nc<=50 && y3!=0) //per andare a sinistra
    		{
    			sinistra (pista,&x3,&y3,&z);
    		}
    		if(nc>=51 && nc<=55 && x3!=0) //per andare sopra
    		{
    			sopra (pista,&x3,&y3,&z);
    		}
    		if(nc>=56 && nc<=100 && x3!=6) //per andare sotto
    		{
    			sotto (pista,&x3,&y3,&z);
    		}
    
    
    		//giocatore4 (D)
    		nc=A+rand()%(B+1-A);
    		if(nc<=20 && y4!=6) //per andare a destra
    		{
    			destra (pista,&x4,&y4,&z);
    		}
    		if(nc>=21 && nc<=50 && y4!=0) //per andare a sinistra
    		{
    			sinistra (pista,&x4,&y4,&z);
    		}
    		if(nc>=51 && nc<=75 && x4!=0) //per andare sopra
    		{
    			sopra (pista,&x4,&y4,&z);
    		}
    		if(nc>=76 && nc<=100 && x4!=6) //per andare sotto
    		{
    			sotto (pista,&x4,&y4,&z);
    		}
    
    		printf("\n-----------------------------\n\n");
    		for(i=0;i<7;i++)
    		{
    			for(j=0;j<7;j++)
    			{       
    				printf(" %c",pista[i][j]);
    			}
    			printf("\n");
    		}
    		getchar();
    
    		if (z>0) //se z è maggiore di uno vuol dire che c'è stato uno o più scontri quindi il programma termina
    		{       printf("SCONTRO! FINE PARTITA\n\n"); }
    
    	} while (z==0);
    
    	printf("Alla prossima!!\n\n");                                 
    	getch();
    }
    
    void destra (char pista[][7],int *x1,int *y1,int *z1)
    {
    	pista[*x1][*y1]=' ';
    	(*y1)++;
    	if (pista[*x1][*y1]=='X' || pista[*x1][*y1]=='X' || pista[*x1][*y1]=='X')
    		(*z1)++; 
    	else
    		pista[*x1][*y1]='X';
    }
    
    void sinistra (char pista[][7],int *x2,int *y2,int *z2)
    {
    	pista[*x2][*y2]=' ';
    	(*y2)--;
    	if (pista[*x2][*y2]=='X' || pista[*x2][*y2]=='X' || pista[*x2][*y2]=='X')
    		(*z2)++; 
    	else
    		pista[*x2][*y2]='X';   
    }
    
    void sopra (char pista[][7],int *x3,int *y3,int *z3)
    {
    	pista[*x3][*y3]=' ';
    	(*x3)--;
    	if (pista[*x3][*y3]=='X' || pista[*x3][*y3]=='X' || pista[*x3][*y3]=='X')
    		(*z3)++; 
    	else
    		pista[*x3][*y3]='X';   
    }
    
    void sotto (char pista[][7],int *x4,int *y4,int *z4)
    {
    	pista[*x4][*y4]=' ';
    	(*x4)++;
    	if (pista[*x4][*y4]=='X' || pista[*x4][*y4]=='X' || pista[*x4][*y4]=='X')
    		(*z4)++; 
    	else
    		pista[*x4][*y4]='X';   
    } 
    
    non assumere mai che il compilatore sappia cosa tu abbia in mente. metti sotto parentesi la precedenza delle operazioni di valutazione e/o incremneto.
  • Che stupido che sono!! Grazie!
Devi accedere o registrarti per scrivere nel forum
4 risposte