Bonjour j'ai un code avec le code suivant. quand je le compile ca plante, je crois qu'il s'agit d'un probleme d'allocation de memoire.
le fichier duquel je lis les donnees et de la forme suivante.
5
0 | 0 | 0 | 0 | 0
- - - - v - - - -
0 > 0 | 0 | 0 | 3
- - - - - - - - -
0 | 0 < 2 | 0 | 0
- - - - v - - - -
0 | 0 | 0 | 0 | 4
^ - v - - - - - -
0 | 0 | 0 | 0 | 0
je compte sur votre aide. merci d'avance
[CODE]
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char num;
int flag;
}shiki;
shiki **load_dati(char *, int *);
int main()
{
shiki **t;
int n;
t=load_dati("iniziale.txt",&n);
printf("Hello world!\n");
return 0;
}
shiki ** load_dati(char *filename, int *n){
shiki **t;
int num,i,j=0;
char c1;
FILE *f;
if((f=fopen("iniziale.txt","r"))==NULL){
printf("errore apertura");
exit(EXIT_FAILURE);
}
fscanf(f,"%d",&num);
printf("%d",num);
num=2*num-1;
t = (shiki **) malloc (num * sizeof (shiki *));
if (t == NULL) {
printf("problema allocazione memoria\n");
exit(EXIT_FAILURE);
}
for (i=0; i<num; i++) {
t[i] = (shiki *)malloc(num* sizeof (shiki));
if (t[i] == NULL) {
printf("Memory allocation error.\n");
exit(EXIT_FAILURE);
}
for(j=0;j<=num;j++){
fscanf(f,"%c",&c1);
if(c1!=' ' && c1!='\n')
t[i][j].num=c1;
}}
*n=num;
return t;
}[\CODE]