CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Aide programme de C

[zsx]
[zsx]
Niveau 7
30 mars 2004 à 21:30:58

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 le fichier et stocker le résultat dans un fichier copie et afficher le contenu de ce nouveau fichier.

JeanYvesYves
JeanYvesYves
Niveau 10
30 mars 2004 à 21:40:01

donc le reste tu l´as fait ?
avec fprintf ? Donc tu sais lire et écrire dans le fichier, je ne V pas détailler donc :)

bon pour la derniere question, tu charges tes entiers dans le tableau ( que tu as du faire dans les questions d´avant)

int tab[n]; < -- tu obtiens ce tableau plein

ensuite, tu appelles juste :

qsort(&[0],n,sizeof(int),comp_int);

ça te trie ton tableau tout seul :)
( necessite d´inclure stdlib.h)

Par contre, tu dois te demander ce qu´est comp_int : c´est une fonction que tu dois définir :
définis la comme ça, au dessus du main :

int comp_int(void* a,void* b)
{
int* pa=(int*)a;
int* pb=(int*)b;
return *pa-*pb;
}

ça trie dans un ordre : si C pas le bon ordre, tu mets :
return *pb-*pa;

voila :) donc apres le qsort, les éléments sont triés, tu les sauves avec un fprintf, tout simplement ! !

Dis moi si je n´ai pas assez détaillé, et surtout OU je n´ai pas assez détaillé.

[zsx]
[zsx]
Niveau 7
30 mars 2004 à 22:19:11

Merci de répondre,
mais j´ai pas le droit aux tableaux ou vecteurs :(
Enfin, je me suis un peu plus creusé les méninges et j´ai trouvé!
Merci quand meme

darklian
darklian
Niveau 10
30 mars 2004 à 23:17:27

c´est un devoir ? :)

[zsx]
[zsx]
Niveau 7
31 mars 2004 à 15:02:38

Hé oui...

JeanYvesYves
JeanYvesYves
Niveau 10
31 mars 2004 à 16:45:59

Sans tableau, C se compliquer la vie :)
Enfin ça vous apprend :) quelles études fais tu ?

Je vois la solution, C peut etre celle que tu as fait :
chercher dans le fichier source le min, stocker ce min dans un int dans notre programme.
mettre ce min dans le fichier dest.
Recommencer de façon gloutonne, en cherchant le nouveau min ( en ignorant les nombres en dessous ou égaux de l´ancien min), et voila.

Probleme si on a des nombres en double :)
--> Résolution, stocker également la place de l´ancien min, et comparer l´inférieur strict, et large si on est sur la position mémorisée...

C´est une méthode semblable que tu as faite ? :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment