Aide declaration en C
Fermé
mator
-
10 juin 2007 à 15:08
mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 - 10 juin 2007 à 20:15
mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 - 10 juin 2007 à 20:15
A voir également:
- Aide declaration en C
- Déclaration de revenus - Guide
- Déclaration - Guide
- Le fisc prévient : les propriétaires auront une amende s'ils oublient cette déclaration avant l'été - 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
2 réponses
dubcek
Messages postés
18784
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 avril 2025
5 630
10 juin 2007 à 15:35
10 juin 2007 à 15:35
s
mamiemando
Messages postés
33654
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
4 mai 2025
7 846
10 juin 2007 à 20:15
10 juin 2007 à 20:15
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