Isildur84
24-02-2005, 21:26
Sono disperato, non riesco a capire cosa vuol dire l'errore che il compilatore mi riporta!!
Il programma è molto semplice costruisce una matrice leggendo dei dati da tastiera fino a quando non si preme EOF e poi li stampa. Nel seguito riporo sorgente ed errore. Un grazie a chi mi aiuterà.
#include <stdio.h>
#define COLONNE 20
#define RIGHE 100
int riempimento (char [][], int, int);
void stampa (char [][], int);
int main () {
int lunghezza;
char cognomi[RIGHE][COLONNE];
lunghezza = riempimento(cognomi, RIGHE, COLONNE);
printf ("\n\n");
stampa(cognomi, lunghezza);
printf ("\n\n");
return 0;
}
int riempimento (char cognomi[][], int righe, int colonne) {
int i = 0, j = 0;
for (; i < righe && cognomi[i-1][j] != EOF; i++);
for (j = 0; j < colonne - 1 && (cognomi[i][j] = getchar()) != '\n'; j++);
cognomi[i][j+1] = '\0';
return i;
}
void stampa (char cognomi[][], int max) {
int i = 0, j = 0;
for (; i < max; i++)
for (j = 0; cognomi[i][j] != '\0'; j++)
printf ("%c", cognomi[i]);
}
L'errore è il seguente:
Cognomi.c: In function `riempimento':
Cognomi.c:31: error: invalid use of array with unspecified bounds
Cognomi.c:31: error: invalid use of array with unspecified bounds
Cognomi.c:33: error: invalid use of array with unspecified bounds
Cognomi.c:35: error: invalid use of array with unspecified bounds
Cognomi.c: In function `stampa':
Cognomi.c:47: error: invalid use of array with unspecified bounds
Cognomi.c:49: error: invalid use of array with unspecified bounds
Cognomi.c:51:2: warning: no newline at end of file
[simone@localhost Programmazione in C]$
Il programma è molto semplice costruisce una matrice leggendo dei dati da tastiera fino a quando non si preme EOF e poi li stampa. Nel seguito riporo sorgente ed errore. Un grazie a chi mi aiuterà.
#include <stdio.h>
#define COLONNE 20
#define RIGHE 100
int riempimento (char [][], int, int);
void stampa (char [][], int);
int main () {
int lunghezza;
char cognomi[RIGHE][COLONNE];
lunghezza = riempimento(cognomi, RIGHE, COLONNE);
printf ("\n\n");
stampa(cognomi, lunghezza);
printf ("\n\n");
return 0;
}
int riempimento (char cognomi[][], int righe, int colonne) {
int i = 0, j = 0;
for (; i < righe && cognomi[i-1][j] != EOF; i++);
for (j = 0; j < colonne - 1 && (cognomi[i][j] = getchar()) != '\n'; j++);
cognomi[i][j+1] = '\0';
return i;
}
void stampa (char cognomi[][], int max) {
int i = 0, j = 0;
for (; i < max; i++)
for (j = 0; cognomi[i][j] != '\0'; j++)
printf ("%c", cognomi[i]);
}
L'errore è il seguente:
Cognomi.c: In function `riempimento':
Cognomi.c:31: error: invalid use of array with unspecified bounds
Cognomi.c:31: error: invalid use of array with unspecified bounds
Cognomi.c:33: error: invalid use of array with unspecified bounds
Cognomi.c:35: error: invalid use of array with unspecified bounds
Cognomi.c: In function `stampa':
Cognomi.c:47: error: invalid use of array with unspecified bounds
Cognomi.c:49: error: invalid use of array with unspecified bounds
Cognomi.c:51:2: warning: no newline at end of file
[simone@localhost Programmazione in C]$