Aide programme en C
FonGuss
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
le_dahu Messages postés 141 Date d'inscription Statut Membre Dernière intervention -
le_dahu Messages postés 141 Date d'inscription Statut Membre Dernière intervention -
Bonsoir tlm, je suis bloqué dans un programme de C, je vais vous donner l'énoncer:
-Saisir et enregistrer dans un fichier n entiers (n entré au clavier).
-Calculer et afficher la somme et la moyenne des
éléments du fichier.
-Calculer et afficher le nombre d’éléments positifs et nuls,en déduire le nombre d’éléments négatifs et afficher ce nombre.
-Saisir un nombre entier et détecter s’il appartient au fichier (recherche séquentielle).
-Rechercher et afficher le plus petit et le plus grand nombre du fichier.
Et c'est ici, en dessous que je cale, est ce que qqun peut m'aider? Je ne vois pas comment trier ce fichier...
-Afficher le contenu du fichier, trier les entiers dans l'ordre croissant et stocker le résultat dans un fichier copie et afficher le contenu de ce nouveau fichier.
-Saisir et enregistrer dans un fichier n entiers (n entré au clavier).
-Calculer et afficher la somme et la moyenne des
éléments du fichier.
-Calculer et afficher le nombre d’éléments positifs et nuls,en déduire le nombre d’éléments négatifs et afficher ce nombre.
-Saisir un nombre entier et détecter s’il appartient au fichier (recherche séquentielle).
-Rechercher et afficher le plus petit et le plus grand nombre du fichier.
Et c'est ici, en dessous que je cale, est ce que qqun peut m'aider? Je ne vois pas comment trier ce fichier...
-Afficher le contenu du fichier, trier les entiers dans l'ordre croissant et stocker le résultat dans un fichier copie et afficher le contenu de ce nouveau fichier.
A voir également:
- Aide programme en C
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
8 réponses
Le plus simple, c'est de stocker tous tes entiers dans un tableau de longueur n :
Ensuite, tu initialises ton tableau avec les entiers stockés dans ton fichier (peut-être que tu l'as déjà fait pour les questions précédentes).
Bref, une fois que tu as ton tableau contenant tes entiers, le reste c'est de l'algo... Je t'en file un :
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
int[n] tab;
Ensuite, tu initialises ton tableau avec les entiers stockés dans ton fichier (peut-être que tu l'as déjà fait pour les questions précédentes).
Bref, une fois que tu as ton tableau contenant tes entiers, le reste c'est de l'algo... Je t'en file un :
int i, j, aux; for ( i = 0 ; i < n - 1 ; i++ ) { for ( j = i+1 ; j < n ; j++ ) { if ( tab[j] > tab[i] ) { aux = tab[i]; tab[i] = tab[j]; tab[j] = aux; } } }
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
Pourquoi ça ? Ca existe en C, ce serait dommage de ne pas utiliser ;-)
D'autant plus que sans ça, ça risque d'être assez chiant à programmer...
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
D'autant plus que sans ça, ça risque d'être assez chiant à programmer...
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu fais la lecture du fichier et tu compte le nombre de positif, d'elements en tt, ... pendant la lecture
Et les pointeurs, tu y as droit ? Parce que si oui, tu peux faire la même chose (en C, tableau = pointeur)...
Tu déclares ton tableau en int* et tu fais un malloc... Ensuite, tu le manipules comme un tableau...
Du style :
Enfin, je crois que ça marche... Je suis pas un super spécialiste en C (moi, ce serait plutôt le Java ;-)
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
Tu déclares ton tableau en int* et tu fais un malloc... Ensuite, tu le manipules comme un tableau...
Du style :
int * tab; tab = (int *) malloc ( n * sizeof(int) ); int i, j, aux; for ( i = 0 ; i < n - 1 ; i++ ) { for ( j = i+1 ; j < n ; j++ ) { if ( tab[j] > tab[i] ) { aux = tab[i]; tab[i] = tab[j]; tab[j] = aux; } } }
Enfin, je crois que ça marche... Je suis pas un super spécialiste en C (moi, ce serait plutôt le Java ;-)
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
Salut Vince !
Je crois que le pb, c'est surtout d'arriver à trier les entiers par ordre croissant... :o)
En tout cas, moi, à par les tabs, je vois pas comment faire facilement...
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...
Je crois que le pb, c'est surtout d'arriver à trier les entiers par ordre croissant... :o)
En tout cas, moi, à par les tabs, je vois pas comment faire facilement...
A+
Si à gauche j'ai l'amont, c'est bon...
Si à gauche j'ai l'aval, j'suis bancal...