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