Problema con funzione in C

di il
2 risposte

Problema con funzione in C

Buon Pomeriggio Ragazzi,
ho fatto questo programma in C ma non gira sul codeblocks. O meglio, stampa i primi due printf del main, ma crasha al richiamo di funzione.
Il problema sarebbe quello di visualizzare un rettangolo di base n ed altezza m, con il carattere '+'.
Non credo di avere fatto errori mostruosi, ma qualcosa che non va' c'e'. La funzione deve ricevere in input (char c,int m,int n) e poi restituire il rettangolo.
Grazie...


#include<stdio.h>
#include<stdlib.h>
#define maxrighe 50
#define maxcolonne 50

void StRettangolo(char c,int m,int n); /*definizione di funzione*/

/*funzione main*/
int main(){
int m,n;


printf("inserisci la base : ");
scanf("%d",&m);

printf("inserisci l'altezza : ");
scanf("%d",&n);

StRettangolo('+',m,n);/*chiamata di funzione*/

return 0;}

/*definizione di funzione*/
void StRettangolo(char c,int m,int n){
char mx[maxrighe][maxcolonne];
int i,j;

for(i=0;i<n;i++){
for(j=0;j<m;j++){
mx[j]=c;
printf("%c",mx[j]);}
printf("\n");}}

2 Risposte

  • Re: Problema con funzione in C

    Che errore hai? Il codice non mi sembra sbagliato.


    P.S. Dopo tanti messaggi nel forum non hai ancora compreso che devi utilizzare i tag code quando posti del codice? Un po' di attenzione ...
  • Re: Problema con funzione in C

    Non capisco se il rettangolo deve essere "pieno" o se devi disegnarne solo il perimetro. Intanto ti dico che non occorre una matrice e non occorrono nemmeno due cicli annidati. "Disegni" la prima riga,disegna un numero di righe pari ad altezza - 2 e poi ripeti il primo passaggio. Per evitare di usare cicli annidati,studiati bene i parametri di formati di printf,specie cosa fa il carattere "*" (asterisco).
Devi accedere o registrarti per scrivere nel forum
2 risposte