Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    60

    [C] Problema di stampa delle matrici

    Questo è il breve codice che ho scritto:

    codice:
    #include <stdio.h>
    
    #define RIG 7
    #define COL 7
    void StampaMatrice(char M[][COL], int riga);
    char Mat[RIG][COL];
    int i,j;
    int main(){
    printf("Stampo cella ");
    /* Inizializzazione Matrice */
    for (i=0;i<=RIG;i++){
    	for (j=0;j<=COL;j++){
    		Mat[i][j]='o';	
    	}		
    }
    for (j=1;j<=COL;j++){
    	Mat[0][j]=j;	
    }
    for (i=1;i<=RIG;j++){
    	Mat[i][0]=i;	
    }
    Mat[1][1]='&';
    Mat[1][2]='&';
    Mat[1][6]='&';
    Mat[1][7]='&';
    Mat[2][1]='&';
    Mat[2][2]='&';
    Mat[2][6]='&';
    Mat[2][7]='&';
    Mat[6][1]='&';
    Mat[6][2]='&';
    Mat[6][6]='&';
    Mat[6][7]='&';
    Mat[7][1]='&';
    Mat[7][2]='&';
    Mat[7][6]='&';
    Mat[7][7]='&';
    /* Fine Inizializzazione */
    
    StampaMatrice(Mat,RIG);
    
    
    return 0;
    }
    
    void StampaMatrice ( char M[][COL], int riga){
    	int i,j;
    	for (i=0;i<=riga;i++){
    		for (j=0;j<=COL;j++){
    			if (M[i][j] != '&'){ 
    				printf("%c",M[i][j]);
    			}else{
    				printf(" ");			
    			}
    		}
    		printf("/n");
    	}
    		
    }
    Il problema è che non mi stampa la matrice... che posso fare??

  2. #2

    Re: [C] Problema di stampa delle matrici

    codice:
    #include <stdio.h>
    
    #define RIG 7
    #define COL 7
    void StampaMatrice(char M[][COL], int riga);
    char Mat[RIG][COL];
    int i,j;
    int main(){
    printf("Stampo cella ");
    /* Inizializzazione Matrice */
    for (i=0;i<RIG;i++){
    	for (j=0;j<COL;j++){
    		Mat[i][j]='o';	
    	}		
    }
    for (j=1;j<COL;j++){
    	Mat[0][j]=j;	
    }
    for (i=1;i<RIG;j++){
    	Mat[i][0]=i;	
    }
    Mat[1][1]='&';
    Mat[1][2]='&';
    Mat[1][6]='&';
    Mat[1][7]='&';
    Mat[2][1]='&';
    Mat[2][2]='&';
    Mat[2][6]='&';
    Mat[2][7]='&';
    Mat[6][1]='&';
    Mat[6][2]='&';
    Mat[6][6]='&';
    Mat[6][7]='&';
    Mat[7][1]='&';
    Mat[7][2]='&';
    Mat[7][6]='&';
    Mat[7][7]='&';
    /* Fine Inizializzazione */
    
    StampaMatrice(Mat,RIG);
    
    
    return 0;
    }
    
    void StampaMatrice ( char M[][COL], int riga){
    	int i,j;
    	for (i=0;i<riga;i++){
    		for (j=0;j<COL;j++){
    			if (M[i][j] != '&'){ 
    				printf("%c",M[i][j]);
    			}else{
    				printf(" ");			
    			}
    		}
    		printf("/n");
    	}
    		
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    60
    Scusa ma la tua risposta non l'ho capita...

  4. #4
    ho modificato il codice....provalo ora...

  5. #5

    Re: [C] Problema di stampa delle matrici

    Originariamente inviato da cloix86
    Questo è il breve codice che ho scritto:

    codice:
    #include <stdio.h>
    
    #define RIG 7
    #define COL 7
    void StampaMatrice(char M[][COL], int riga);
    char Mat[RIG][COL];
    int i,j;
    int main(){
    printf("Stampo cella ");
    /* Inizializzazione Matrice */
    for (i=0;i<=RIG;i++){
    	for (j=0;j<=COL;j++){
    		Mat[i][j]='o';	
    	}		
    }
    for (j=1;j<=COL;j++){
    	Mat[0][j]=j;	
    }
    for (i=1;i<=RIG;j++){
    	Mat[i][0]=i;	
    }
    Mat[1][1]='&';
    Mat[1][2]='&';
    Mat[1][6]='&';
    Mat[1][7]='&';
    Mat[2][1]='&';
    Mat[2][2]='&';
    Mat[2][6]='&';
    Mat[2][7]='&';
    Mat[6][1]='&';
    Mat[6][2]='&';
    Mat[6][6]='&';
    
    Mat[6][7]='&';
    Mat[7][1]='&';
    Mat[7][2]='&';
    Mat[7][6]='&';
    Mat[7][7]='&';
    
    /* Fine Inizializzazione */
    
    StampaMatrice(Mat,RIG);
    
    
    return 0;
    }
    
    void StampaMatrice ( char M[][COL], int riga){
    	int i,j;
    	for (i=0;i<=riga;i++){
    		for (j=0;j<=COL;j++){
    			if (M[i][j] != '&'){ 
    				printf("%c",M[i][j]);
    			}else{
    				printf(" ");			
    			}
    		}
    		printf("/n");
    	}
    		
    }
    Il problema è che non mi stampa la matrice... che posso fare??
    la matrice va da 0 a 6 non da 1 a 7,
    ergo stai facendo casini nella memoria, non va per questo.

    sostituisci tutti gli indici e riprova.

  6. #6
    lui faceva da 0 a 7, quando la matrice va' da 0 a 6.
    Infatti il codice che ho postato io è modificato apposta.

  7. #7
    Originariamente inviato da devil89
    lui faceva da 0 a 7, quando la matrice va' da 0 a 6.
    Infatti il codice che ho postato io è modificato apposta.
    guarda che anche il tuo codice e' sbagliato.

    se crei una variabile cosi:
    char mat[7][7]
    non puoi scrivere all' indirizzo
    mat[7][7], ne tantomeno all' indirizzo
    mat[7][x], ne tantomeno mat[x][7],
    il valore max consentito è 6,
    rileggi cosa ho evidenziato in grassetto, ciao.

    inoltre deve inizializzare i e j altrimenti hanno valore casuale.

    codice:
    int i,j;
    bisogna cambiarlo in qualcosa di simile a

    codice:
    int i,j;
    i=j=0;

  8. #8
    hai ragionissimo.
    Scusate....non mi ero accorto di quella parte.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    60
    Niente da fare... ho inizializzato gli indici, ho messo le costanti entrambe a 8 ma non stampa niente! non so se questo può essere d'aiuto ma sto programmando con ubuntu 6.10

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ovviamente questa riga

    for (i=1;i<=RIG;j++){

    e' sbagliata ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.