Esercizio funzione e matrice

di il
5 risposte

Esercizio funzione e matrice

Ciao a tutti!
devo fare questo es in c:
Scrivere una funzione che visualizzi un messaggio a una generica coordinata x,y dello schermo. Si consideri uno schermo con 25 righe e 80 colonne.

Ho provato a fare cosi:
#include <stdio.h>

int coord(int mat1[][80], int x, int y);

int coord(int mat1[][80],int x, int y)
{

int i,j;
char car = 'X';
char spz = ' ';



for( i = 0; i < 25 ; i++){
printf("\n");
for (j = 0; j < 80; j++)
if( i == x && j == y){
mat1[j] = car;
printf("%c", mat1[j]);}
else
{
mat1[j] = spz;
printf("%c", mat1[j]);
}

}
printf("\n");
}

int main ()
{
int m,n, mat[25][80];
int risultato;

scanf("%d",&n);
scanf("%d", &m);

risultato = coord(mat[25][80], n,m);

printf("%d", risultato);
}


ma si blocca... penso che il problema sia nella matrice della funzione coord ma non riesco a saltarci fuori

5 Risposte

  • Re: Esercizio funzione e matrice

    Ma devi "simulare" lo schermo o devi considerare uno schermo vero (e quindi posizionare il cursore e visualizzare da una posizione effettiva)?

    Usi Windows o Linux?
  • Re: Esercizio funzione e matrice

    Windows!
    e programmo in Visual Studio. Penso di dover simulare.. L'esercizio dice quello che ho scritto..
    se provo a fare tutto nel main il programma funziona mentre quando creo la funzione e cambio il main non funziona più.
  • Re: Esercizio funzione e matrice

    Beh, lo saprai tu, da quello che è stato fatto dal professore, se devi simulare o no.

    Comunque, non capisco cosa fai nel codice perché non vedo nessun messaggio passato alla funzione come invece dice il testo ... Inoltre prendi un risultato dalla funzione ma la funzione non restituisce nulla ... (del resto la funzione non deve restituire alcun risultato)

    P.S. Quando posti del codice utilizza i tag CODE altrimenti non si capisce molto e non si risponde ...
  • Re: Esercizio funzione e matrice

    #include <stdio.h>
    
    int coord(int mat1[][80], int x, int y);
    
    int coord(int mat1[][80],int x, int y)
    {
    	
    	int i,j;
    	char car = 'X';
    	char spz = ' ';
    
    	
    
    	for( i = 0; i < 25 ; i++){
    			printf("\n");
    			for (j = 0; j < 80; j++)
    			if( i == x && j == y){
    				mat1[i][j] = car;
    				printf("%c", mat1[i][j]);}
    			else
    			{
    				mat1[i][j] = spz;
    				printf("%c", mat1[i][j]);
    			}
    				
    		}
    	printf("\n");
    }
    
    int main ()
    {
    	int m,n, mat[25][80];
    	int risultato;
    
    	scanf("%d",&n);
    	scanf("%d", &m);
    
    	risultato = coord(mat[25][80], n,m);
    
    	printf("%d", risultato);
    }
    
    
    
    Eh, io sto studiando su un libro perché per motivi personali non ho potuto frequentare le lezioni. L'esercizio è alla fine del capitolo sulle funzioni.
    Per "provare" come messaggio ho messo una semplice X.
  • Re: Esercizio funzione e matrice

    Ti ripeto ...

    1) la funzione non deve restituire nulla (cosa sarebbe risultato?)

    2) la funzione deve accettare anche il messaggio (che può essere fatto da tanti caratteri)

    3) la funzione non deve mostrare nulla a video (quindi niente printf) ma riempire gli elementi della matrice con i caratteri del messaggio, a partire dalla posizione indicata, tenendo conto della fine della riga
Devi accedere o registrarti per scrivere nel forum
5 risposte