begin process at 2012 02 11 06:15:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

Help.... probleme avec un programme de tri de char


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Help.... probleme avec un programme de tri de char

mercredi 27 juillet 2005 à 14:56:44 | Help.... probleme avec un programme de tri de char

ratp

Es ce que vous pouvez m'aider.
j'ai réaliser un programme qui normalement doit permettre de trier les caracteres. mais sa ne marche pas.
merci de m'aider

clude <stdio.h>
#include <string.h>

void echanger(char *tableau[], int i,int j)
{
    char *tempo;

    tempo=tableau[i];
    tableau[i]=tableau[j];
    tableau[j]=tableau[i];

}

void tri_chaine(char *tableau[],int longueur)
{
    int i,j;

    for(j=0;j<longueur;j++)
    {
        for(i=0;i<longueur;i++)
        {
            if(strcmp(tableau[i],tableau[j])<0);
        }
    }
}

void main(void)
{
    char *tableau[50];

    printf("Veuillez saisir une chaine\n");
    gets(tableau);

    tri_chaine(tableau,50);

    for(i=0;i<50;i++)
    {
        printf("%c",tableau[i]);
    }
}

RATP
mercredi 27 juillet 2005 à 15:10:20 | Re : Help.... probleme avec un programme de tri de char

buno

Administrateur CodeS-SourceS
c'est un tableau de chaines de caractères (char * tableau[50])
ou une seule chaine de caractère (char tableau[50])
que tu veux faire?

Dans le deuxième cas, tu as juste à enlever toutes les étoiles, plus quelques aménagements peut-être

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 27 juillet 2005 à 15:14:08 | Re : Help.... probleme avec un programme de tri de char

buno

Administrateur CodeS-SourceS
Regarde la fonction qsort sur MSDN

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 27 juillet 2005 à 15:14:50 | Re : Help.... probleme avec un programme de tri de char

ratp


C'est un tableau de chaines de caractères (char * tableau[50])

merci d'avance de ton aide

RATP
mercredi 27 juillet 2005 à 15:25:59 | Re : Help.... probleme avec un programme de tri de char

buno

Administrateur CodeS-SourceS
Voici un code pout trier une caractère dans l'ordre croissant:

#include <stdio.h>
#include <iostream>

// Fonction de comparaison de 2 éléments de base (ici char)
int compare(const void *arg1, const void *arg2)
{
  return ((char)arg1<(char)arg2);
}


void main(void)
{
  char tab[10] = "hello";

  std::cout << "Avant: "<< tab << std::endl;
  qsort(tab,5,sizeof(char),compare);
  std::cout << "Après: "<< tab << std::endl;
  getchar();
}


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 27 juillet 2005 à 15:27:08 | Re : Help.... probleme avec un programme de tri de char

ratp

j'ai pas compris pourquoi tu m'oriente sur la fonction qsort ?

#include <stdio.h>
#include <string.h>

void echanger(char *tableau[], int i,int j)
{
    char *tempo;

    tempo=tableau[i];
    tableau[i]=tableau[j];
    tableau[j]=tableau[i];

}

void tri_chaine(char *tableau[],int longueur)
{
    int i,j;

    for(j=0;j<longueur;j++)
    {
        for(i=0;i<longueur;i++)
        {
            if(strcmp(tableau[i],tableau[j])<0);
        }
    }
}

void main(void)

{
    char *tableau[50];
    int i;

    printf("Veuillez saisir une chaine\n");
   gets(tableau);

    tri_chaine(tableau,50);

    for(i=0;i<50;i++)
    {
        printf("%s",tableau[i]);
    }
}

RATP
mercredi 27 juillet 2005 à 15:29:29 | Re : Help.... probleme avec un programme de tri de char

ratp

Merci pour ce code mais je ne veut pas le faire en C++, mais en C ANSI, je suis debutant et je voudrais passer par les fonctions C

RATP
mercredi 27 juillet 2005 à 15:38:43 | Re : Help.... probleme avec un programme de tri de char

buno

Administrateur CodeS-SourceS
Réponse acceptée !
Mise à part les lignes std::cout ..., c'est du C mon code...
Mais bon... j'ai corrigé ton code:

void echanger(char *tableau, int i,int j)
{
  char tempo;

  tempo=tableau[i];
  tableau[i]=tableau[j];
  tableau[j]=tempo;    // et non pas tableau[i]
}

void tri_chaine(char *tableau,int longueur)
{
  int i,j;

  for(j=0;j<longueur;j++)
    for(i=0;i<longueur;i++)
    {
      if(tableau[i]<tableau[j])   // et non pas un if qui ne fait rien
        echanger(tableau,i,j);
    }
}

void main(void)
{
  char tableau[50];    // une seule chaine de caractères
  int i;

  printf("Veuillez saisir une chaine\n");
  gets(tableau);

  tri_chaine(tableau,strlen(tableau));   // taille = nb carac et non pas 50

  for(i=0;i<strlen();i++)
    printf("%c",tableau[i]);

  getchar();    // juste pour voir le résultat
}


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 27 juillet 2005 à 15:40:03 | Re : Help.... probleme avec un programme de tri de char

vladisback

moi deja jvoi une erreur ici: void echanger(char *tableau[], int i,int j) { char *tempo; tempo=tableau[i]; tableau[i]=tableau[j]; tableau[j]=tableau[i]; } je pense que ça devrait etre plutot ça: void echanger(char *tableau, int i,int j) { char tempo; tempo=tableau[i]; tableau[i]=tableau[j]; tableau[j]=tempo; } voila, je ne suis meme pas aller plus loin donc si il y a encore des probleme je regarderai.
mercredi 27 juillet 2005 à 15:46:56 | Re : Help.... probleme avec un programme de tri de char

vladisback

oups, deja repondu le temps kje mette ma reponse

1 2

Cette discussion est classée dans : int, tableau, tri, void, char


Répondre à ce message

Sujets en rapport avec ce message

tableau char [ par dingue007 ] Voila je dois faire un prog en C++ : un tableau avec les mois de lannée et quand je tape un chiffre il me sort le mois ! mais je narrive pas a faire l Gestion d'entrées/sorties sur fichier [ par macrow ] Bonjour, Voici mon source : #include #include #include #include #include //******************************************** class.... [ par Tautau ] voila j'ai un petit prob lors de ma compilation et j'ai un test dessus lundi :#include "conio.h"#include "iostream.h"class C_Tableau{ private: Tableau et char to int [ par Niníel ] Bonjour!J'ai un tableau: chTabStart[64] dans lequel je rentre un nombre dans le format suivant: d_25 pour un nombre décimale par exemple. Donc dans mo Tableau à 3 dimensions [ par VinceExtense ] Savez vous comment faire passer en paramètre un tableau à 3 dimensions ?void fonction1(int x,iny y,int z){int tab[x][y][z];}void fonction2(int ***tab, lister un tableau de string [ par minet03 ] Soyons bref, je suis en train de bosser sur un code qui liste les srting d'un tableau, seul problème c'est qu'il y a des problèmes !Voici mon code :vo Saisie chaines caractère en boucle en C [ par oim09 ] Voila alors j'ai rencontré un problème que je n'avai jamais rencontrer. Je veu faire une fonction qui rempli un tablaeu avec des chaines de caractères Probleme de tableau [ par manta7 ] Bonjour, j'ai un petit problème avec la compilationde ce code : int *t; t = malloc(B * sizeof (int)); Je suis sous Microsoft Visual C++ 6 mais je pr Corection [ par Hellboy67 ] donc voila cette source est censé trier le tableau par ordre croissant mais il ne fait absolument rien je pense m'etre trompé mais ou ?#include using Convertir une valeur d'un tableau de char en int [ par impskil ] Bonjour.J'ai un tableau de char: char line[3000];Je veux reccuperer une valeur à l'interrieur du tableau et enssuite la convertir au format int ou dou


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales