Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1325 connectés 

  FORUM HardWare.fr
  Programmation
  C

  y a t-il un volontaire qui jette un coup d'oeuil sur ça

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

y a t-il un volontaire qui jette un coup d'oeuil sur ça

n°1287963
ingainga
aider pour etre aidé
Posté le 19-01-2006 à 23:03:46  profilanswer
 

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<time.h>
 
 
long const it=100;
typedef struct liste{int val;
       liste *suivant;
        }liste;
 
liste *fusion(liste *g,liste *d)
{liste *scan,res;
 res.suivant=NULL,scan=&res;
 while (g!=NULL && d!=NULL)
 {if(g->val <= d->val)
  {scan=(scan->suivant=g);
 g=g->suivant;
  }
  else
  {scan=(scan->suivant=d);
 d=d->suivant;
  }
 }
 if(g!=NULL)
  scan->suivant=g;
 else
  scan->suivant=d;
 return(res.suivant);
}
 
liste *tri_fusion(liste *l,long n)
{FILE *fd;  long i,j=it/2;
 liste *scan,*prev=NULL,*m;
 clock_t t1, t2;
 fd = fopen("tri.txt","r" );
 if(fd==NULL)
  {
   printf("\nLecture impossible a partir du fichier !!!\n" );
  }
 else
 {  while(!feof(fd))
  {
  fscanf(fd,"%ld",&l->val);
  }
 }
 fclose(fd);
  t1= clock();
 
 for(i=0;i<it-1;i++)
{
 
 if(n>2)
 {for(m=l,i=j;i>0;m=m->suivant,i--)
  {prev =m;
  }
  prev->suivant=NULL;
  l=tri_fusion(l,j);
  m=tri_fusion(m,it-j);
  return(fusion(l,m));
 }
 else
 {if(n==2 && l->val>l->suivant->val)
  {l->suivant->suivant=l;
 l=l->suivant;
 l->suivant->suivant=NULL;
  }
  t2= clock();
 
 printf("temps d'execution du tri selection : %f secondes\n",(t2-t1)/CLK_TCK);
 }
 
 }
 
 return(l);
}
 
int main()
{
 long i; int n;
 FILE *fd;liste *l;
 fd = fopen("tri.txt","w" );
 for(i=0;i<it;i++)
 fprintf(fd,"%ld\n",random(it));
 fclose(fd);
 tri_fusion(l,n);
  getch();
 return(0);
}
dites moi,c'est juste ou non :hello:

mood
Publicité
Posté le 19-01-2006 à 23:03:46  profilanswer
 

n°1287967
ingainga
aider pour etre aidé
Posté le 19-01-2006 à 23:07:43  profilanswer
 

j'attend une reponse

n°1287968
Profil sup​primé
Posté le 19-01-2006 à 23:08:27  answer
 

Balises code pour commencer. Et donner quelque chose qui compile parce que vu la tête du programme, t'as pas besoin de conio.h ni de dos.h (sic).

n°1287973
ingainga
aider pour etre aidé
Posté le 19-01-2006 à 23:11:44  profilanswer
 

on peut ne pas utiliser dos.h,mais conio.h aidera dans l'instruction getch()

n°1287974
ritzle
Posté le 19-01-2006 à 23:11:49  profilanswer
 

et arrête de t'impatienter aussi parce qu'en 4 minutes...

n°1287975
ingainga
aider pour etre aidé
Posté le 19-01-2006 à 23:13:24  profilanswer
 

:pt1cable:  :lol:  :whistle: c'est le temps qui compte dans la vie

n°1287991
Profil sup​primé
Posté le 19-01-2006 à 23:30:43  answer
 

ingainga a écrit :

on peut ne pas utiliser dos.h,mais conio.h aidera dans l'instruction getch()


 
En effet mais tu n'as pas besoin de "getch" pour programmer un tri fusion de listes chaînées. L'idéal comme tu débutes serait d'écrire un programme propre, en C standard (ANSI quant à faire). Je ne sais pas quel compilateur tu utilises mais poste un code qui compile avec les options de GCC "-ansi -pedantic" (en plus des options de warning).
 
Pour savoir si un programme est "juste" ou non, il suffit de voir s'il fonctionne comme tu l'attends en testant (tout le problème étant de savoir ce que tu considères comme un ensemble de tests valides).


Message édité par Profil supprimé le 19-01-2006 à 23:31:25
n°1287997
Elmoricq
Modérateur
Posté le 19-01-2006 à 23:47:27  profilanswer
 

Je refuse de lire un paquet de lignes non indentées.
 

ingainga a écrit :

:pt1cable:  :lol:  :whistle: c'est le temps qui compte dans la vie


 
Précisément la raison pour laquelle je ne lirais pas ton code mal écrit. [:itm]

n°1288001
ingainga
aider pour etre aidé
Posté le 19-01-2006 à 23:54:27  profilanswer
 

:sol: il parait que tu l'as déjà lu,sinon d'où viennent ces commentaires

n°1288005
Emmanuel D​elahaye
C is a sharp tool
Posté le 19-01-2006 à 23:57:02  profilanswer
 

ingainga a écrit :

j'attend une reponse


:doigt:


Message édité par Emmanuel Delahaye le 19-01-2006 à 23:57:46

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
mood
Publicité
Posté le 19-01-2006 à 23:57:02  profilanswer
 

n°1288059
chrisbk
-
Posté le 20-01-2006 à 09:18:07  profilanswer
 

ingainga a écrit :


dites moi,c'est juste ou non :hello:


 
bin heuh, t'as essayé de le compiler, de le lancer, et de regarder les résultats ?

n°1288104
francky06l
Posté le 20-01-2006 à 10:19:18  profilanswer
 

Si c'est le temps qui compte, tu prends les STL et tu fais ta liste avec tri en moins de temps qu'il te faut pour indenter ton code:-)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  y a t-il un volontaire qui jette un coup d'oeuil sur ça

 

Sujets relatifs
[SQL] un coup de main pour rouler mon join?Un coup de main en php pour un truc basique svp?
un coup de pouce pour m'aider a démarré en cUn coup c'est get, un coup c'est post, c'est la farandolle a flash
Besoin d'un petit coup de main pour vbaComment vérifier plusieurs variables d'un seul coup ?
un petit coup de main pour créer un Button[C][MPI] besoin d un coup de pouce avec Allgather
[C++ D3D] Besoin d'un petit coup de pouceencore un coup des checkbox
Plus de sujets relatifs à : y a t-il un volontaire qui jette un coup d'oeuil sur ça


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR