Non riesco a proseguire nella compilazione di un semplice programmino che ho dovuto creare come compito a casa d'informatica.
Bisogna che il programma crei una tabella che non superi le 23 righe e le 5 colonne, poiché 23 sono i massimi alunni presenti nell'elenco e 5 sono i compiti in classe massimi per quadrimestre.
In seguito bisogna caricare i nomi degli alunni e dei compiti, stamparli a video e calcolare la media tra i voti dei compiti in classe di ogni alunno.

Non avevo mai utilizzato il linguaggio C ma è stato semplice impararlo, tanto che ci ho messo solo una serata per arrivare a scrivere buona parte di questo programma, ma ora sono ferma su caricare/stampare i dati della tabella poiché non riesco a capire come si fa ...
Poi la prof, lasciamo perdere... non ha saputo spiegarmelo nemmeno lei :rollo:... (prof d'informatica?! ... mah...). Quindi datemi voi una mano, plz
L'errore l'ho capito, ma non riesco a correggerlo:
Per caricare i dati nella tabella ho creato un array monodimensionale di tipo char per scrivere i nomi degli alunni, e un array multidimensionale per i voti su cui non riesco a caricare i dati; infatti è proprio qui che va in crash in DOS.
Questo è il programma:
codice:
#include <stdio.h> //libreria per le funzionealità basilari di input/output

#define rmax 23 
#define cmax 5 

int main() 
{
int r,c;
int i,j;
int m[r][c];
char n[r][25];
for( ; ; ) //ciclo infinito
{
printf("Crea la tabella rispondendo alle richieste\n");   
do
{
	printf("Inserisci il numero degli alunni\n");
	scanf("%d", &r);
	if (r < 1 || r > rmax) 
	{
		printf("Valore non consentito\n");
	} 
} while (r < 1 || r > rmax); //ripete l'operazione fino a che questa condizione non risulta vera
do 
{
	printf("Inserisci il numero dei compiti in classe\n");
	scanf("%d", &c);
	if (c < 1 || c > cmax)
	{
		printf("Valore non consentito\n");
	} 
} while (c < 1 || c > cmax); //ripete l'operazione fino a che questa condizione non risulta vera
for (i = 1; i < r + 1; i++)
{
	printf("Nome alunno %d\n", i);
	scanf("%s", n[i]);
        for (j = 1; j < c + 1; j++)
        {
  		printf("Voto compito %d\n", j);
		scanf("%d", m[i][j]);
	} 
}
printf("Tabella creata con successo");
for (i = 1; i < r + 1; i++)
{
	printf("\n", i, " ");
	printf("%s", n[i]);
	for (j = 1; j < c + 1; j++)
	{
		printf(" ", j, " ");
		printf("%d", m[i][j]);   
	}
}
printf("\n");
}
}
Risulta compilato bene, ma si blocca in DOS...
Aspetto il vostro aiuto,