Rechercher : dans
Par :

Tri décroissant. en C

Dernière réponse le 11 nov 2009 à 20:17:54 dinowe, le 9 nov 2009 à 23:47:17 
 Signaler ce message aux modérateurs

Bonjour, aider mois sil vous jai un problmme ds la fontion qui fai le tri je sais comment fair un tri decroissant voila le programme en c


#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
char Tvoit[10][20];
char Tjour[7][10];
int M[7][10],NTV[7], NTL[10];



void P_charge()
{
int i,j;
strcpy(Tvoit[0],"mercedes");
strcpy(Tvoit[1],"renault");
strcpy(Tvoit[2],"citroen");
strcpy(Tvoit[3],"fiat");
strcpy(Tvoit[4],"seat");
strcpy(Tvoit[5],"opel");
strcpy(Tvoit[6],"toyota");
strcpy(Tvoit[7],"chevrolet");
strcpy(Tvoit[8],"najib");
strcpy(Tvoit[9],"adnane");


strcpy(Tjour[0],"lundi");
strcpy(Tjour[1],"mardi");
strcpy(Tjour[2],"mercredi");
strcpy(Tjour[3],"jeudi");
strcpy(Tjour[4],"vendredi");
strcpy(Tjour[5],"samedi");
strcpy(Tjour[6],"dimanche");
for(i=0;i<7;i++)
{
printf("type de voiture loué pour le jour:%s\n",Tjour[i]);
for(j=0;j<10;j++)
{
printf("nbre de voitures louees:%s\n",Tvoit[j]);
scanf("%d",&M[i][j]);
}
}
}
void NBTvjour()
{int i,j;
for(i=0;i<7;i++)
{
NTV[i]=0;
for(j=0;j<10;j++)

NTV[i]=NTV[i]+M[i][j];
}
for(i=0;i<7;i++)
printf("jour:%s\t nbre de voitures louees:%d\n",Tjour[i],NTV[i]);
}

void NTLtype()
{int i,j;

for(j=0;j<10;j++)
{
NTL[j]=0;
for(i=0;i<7;i++)

NTL[j]=NTL[j]+M[i][j];
}
for(j=0;j<10;j++)
printf("voiture:%s\t nbre de voitures louees:%d\n",Tvoit[j],NTL[j]);
}
void Tri()
{int Tri[10];

int i,j,d,;
M[2][10]=Tri[10];

for(i=0;i<10;i++)
if(Tri[i]<Tri[i+1])
{
d=Tri[i];
Tri[i]=Tri[i+1];
Tri[i+1]=d;




}






{
printf("pour mercredi afficher le tableau trie ",Tri[i]);
scanf("%d",&Tri[i]);
}
}
main()
{
int choix,plein;
plein=0;
do
{
printf("1: prise en charge\n");
printf("2:nombre de locations par jour\n");
printf("3:nombre de location par type de voitures\n");
printf("4:tri par ordre decroissant par type de voiture\n ");
printf("5:sortir\n");
printf("taper votre choix:");
scanf("%d",&choix);
switch (choix)
{
case 1: P_charge();
plein=1;
break;
case 2: if(plein) NBTvjour();
else printf("veuillez remplir les informations de base!!!");
break;
case 3:if(plein) NTLtype();
else printf("veuillez remplir les informations de base!!!");
break;
case 4:if(plein) Tri();
else printf("veuillez remplir les informations de base!!!");
break;
}
if(choix!=5)
getch ();
}
while(choix!=5);

getch();
return 0;
}

Configuration: Windows XP
Firefox 3.5.5

Meilleures réponses pour « Tri décroissant. en C » dans :
Tri par fusion - récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
Tri à bulles -récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri à bulles : Procedure Tri_bulles (var t : TAB; n : integer); Var i, aux : integer; Function Trier (t : TAB; n : integer) : Boolean; ...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...

1

Pacorabanix, le 9 nov 2009 à 23:54:14

Quel est le problème au juste `? Qu'est ce que tu souhaites faire?

Pourquoi tu ne changes pas le tableau M ? (à part la case [2][10], d'ailleurs je ne comprends pas du tout ce que tu fais, tu lui donnes la valeur d'un tableau que tu as déclaré mais tu ne l'as même pas initialisé?


PS : utilise les balises < code > ! (bouton à droite de gras italique souligné)

Répondre à Pacorabanix

2

dinowe, le 10 nov 2009 à 00:00:49

La question c est decrire une faoction qui permet le tri decroissant du nobre de voitur loué par jour par exemle faire le tri mercredi
pour mercredi on
mercedes 12
renault 13
citroen 11
fiat 12
seat 14
"opel 15
toyota 14
chevrolet 8
najib 48
adnane 41

Répondre à dinowe

3

Pacorabanix, le 10 nov 2009 à 01:08:17

Ok, alors tu n'as pas compris comment fonctionnent les tableaux en C.

en fait dans cette ligne : M[2][10]=Tri[10];

dis-moi si je me trompe, mais je crois que tu veux associer le tableau M au tableau tri, et tu crois ensuite qu'en triant le tableau Tri, alors le tableau M va se trier tout seul.

Alors ni l'un ni l'autre ne sont corrects.

Premièrement, pour copier un tableau tu ne peux pas faire "=" simplement en C. Voir ce lien pour faire des copies de tableau : http://c.developpez.com/faq/?page=tableaux#TABLEAUX_tableau_copie .

Ensuite, tu n'as pas besoin d'un tableau auxilliaire "Tri".

toi, tu veux juste trier le tableau M. Tu tries selon le contenu des valeurs nombres pour le mercredi, c-à-d selon les valeurs de M[2][0], M[2][1], M[2][2], ... , M[2][9] je crois.

Donc tu dois trier le tableau M[2][i] (et pas Tri[i]).

Ensuite le problème, c'est que lorsque tu modifies l'ordre des ventes, il faut aussi se rappeler quelles étaient les voitures de chaque type. Il faudrait faire un deuxième tableau en parallèle pour les types de voitures (tu copies les types de voitures dedans), et à chaque fois que tu échanges deux valeurs dans le tableau M[2], tu échanges les valeurs de même indice dans la copie des types de voitures.

Répondre à Pacorabanix

4

dinowe, le 10 nov 2009 à 01:34:36

Si jai bien compri se que tu ve dire la fonction de tri estt:
void Tri()
{


char caracter[20];
int i,j,d,;

for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
{
if(M[2][i]<M[2][j])
{
d=M[2][i];
M[2][i]=M[2][i+1];
M[2][i+1]=d;
strcpy(caracter,Tvoit[i]);
strcpy(Tvoit[i],Tvoit[j]);
strcpy(Tvoit[j],caracter);
}
}
for(i=0;i<10;i++)
{
printf("pour mercredi afficher le tableau trie ",M[2][i]);
scanf("%d",&M[2][i]);
}
}
le tabelau du tri ne safiche po

Répondre à dinowe

5

 dinowe, le 11 nov 2009 à 20:17:54

Aider moi plllllllllzzzzzzzzzzzz

Répondre à dinowe