Aide declaration en C
Bonjour, voici le debut de mon programme.Quand je le lance il m'affiche le 1er point d 'interrogation sur la console, j 'inscris 1600 et il affiche le 2eme point d 'interrogation et la dès que je rentre un chiffre le chiffre ne s 'affiche pas et plus rien.
Pouvez-vous me dire ce qui ne va pas dans mes declarations?
Merci
___________
# include <stdio.h>
main ()
{
FILE *barcd;
FILE *forve;
char possib9[10];
char tout[10];
unsigned long tab[1700][10],zab[1700][1];
unsigned short ca[10],xab[2][10];
unsigned long y,i;
unsigned short j,k,a,r,s,t,v,b,c,d,e,f,g,h,l,m;
barcd = fopen ("possib9","w");
forve= fopen ("tout","r");
scanf("%lu",&y);
for(i=0;i<y;i++) {
for(j=0;j<10;j++) {
fscanf(forve,"%lu",&tab[i][j]);
}
}
scanf("%hu %hu %hu %hu %hu",&a,&r,&s,&t,&v);
Pouvez-vous me dire ce qui ne va pas dans mes declarations?
Merci
___________
# include <stdio.h>
main ()
{
FILE *barcd;
FILE *forve;
char possib9[10];
char tout[10];
unsigned long tab[1700][10],zab[1700][1];
unsigned short ca[10],xab[2][10];
unsigned long y,i;
unsigned short j,k,a,r,s,t,v,b,c,d,e,f,g,h,l,m;
barcd = fopen ("possib9","w");
forve= fopen ("tout","r");
scanf("%lu",&y);
for(i=0;i<y;i++) {
for(j=0;j<10;j++) {
fscanf(forve,"%lu",&tab[i][j]);
}
}
scanf("%hu %hu %hu %hu %hu",&a,&r,&s,&t,&v);
A voir également:
- Aide declaration en C
- Déclaration - Guide
- En plus des revenus, il ne faut surtout pas oublier de faire cette déclaration en ligne aux impôts - Guide
- L'erreur qui peut coûter cher : il ne faut pas déclarer ces revenus aux impôts - Guide
- Vous devez absolument lire ce document des impôts avant de remplir votre déclaration de revenus - Guide
- Une très mauvaise surprise vous attend si vous avez fait une erreur dans votre déclaration de revenus cette année - Guide
2 réponses
C'est impossible que ça compile ça ! Ou alors tu as un compilateur en carton pâte.
Que cherches-tu à faire ?
1) un main retourne un int (le code d'exécution, 0 si tout va bien)
2) tout fopen ouvre un fichier et si celui-ci est ouvert avec succès, doit être fermé avec la commande fclose
Ce qui donne :
Bonne chance
Que cherches-tu à faire ?
1) un main retourne un int (le code d'exécution, 0 si tout va bien)
2) tout fopen ouvre un fichier et si celui-ci est ouvert avec succès, doit être fermé avec la commande fclose
#include <stdio.h> #include <stdlib.h> typedef int value_t; // Le type des valeurs stockées dans la matrice int main(int argc,char **argv){ // Declarer les variables char *filename; FILE *fp; unsigned nb_row,nb_col,i,j; value_t **matrix; // Controler les arguments if(argc!=4){ fprintf(stderr,"usage: %s filename nb_row nb_column\n",argv[0]); fprintf(stderr,"lit une matrice dans un fichier de taille nb_row,nb_column\n"); return 1; } // Convertir les parametres filename = argv[1]; nb_row = atoi(argv[2]); nb_col = atoi(argv[3]); if(!( fp = fopen(filename,"r") )){ fprintf(stderr,"can't open %s\n",filename); return 2; } printf("filename = %s\n",filename); printf("nb_row = %d\n",nb_row); printf("nb_col = %d\n",nb_col); // Allouer la matrice matrix = (value_t **)malloc(sizeof(value_t *)*nb_row); for(i=0;i<nb_row;++i) matrix[i] = (value_t *)calloc(sizeof(value_t),nb_col); // Lire le fichier for(i=0;i<nb_row;++i){ for(j=0;j<nb_col;++j){ fscanf(fp,"%d",&matrix[i][j]); } } // Afficher la matrice lue printf("Resultat:\n"); for(i=0;i<nb_row;++i){ for(j=0;j<nb_col;++j){ printf("%d\t",matrix[i][j]); } printf("\n"); } // Quitter proprement for(i=0;i<nb_row;++i) free(matrix[i]); free(matrix); fclose(fp); return 0; }
Ce qui donne :
(mando@aldur) (~) $ cat plop.txt 1 2 3 4 5 6 7 8 9 10 11 12 (mando@aldur) (~) $ gcc -W -Wall plop.c (mando@aldur) (~) $ ./a.out plop.txt 3 4 filename = plop.txt nb_row = 3 nb_col = 4 Resultat: 1 2 3 4 5 6 7 8 9 10 11 12
Bonne chance