IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

problème dans les tableaux


Sujet :

C

  1. #21
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 317
    Par défaut
    oui j'ai déjà réaliser votre proposition mais ça marche pas, le programme se bloque.
    voici la partie coloré où je veux boucler, je veux savoir les éléments stockés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main(void)
    {
    	// Recuperer chaine par utilisateur
    	char chaine[100];
    	printf("donner la chaine : ");
    	scanf("%s",chaine);
    
    	size_t longueur = strlen(chaine);
    
    	// Decoupage
    	char* tab[100];
    	tab[0]=chaine;
    	char *buffer = NULL;
    int i;
    	size_t taille = 2, debut = 0;
    	unsigned int nb_possibilites = 0;
    
    	printf ("\n\nChaine : [%s], longeur : [%lu]\n\n", chaine, longueur);
    	for(taille=2; taille < longueur ; taille++)
    	{
    		printf("Chaines de %lu caracteres\n", taille);
    
    		for(debut=0; debut+taille <= longueur; debut++)
    		{
    			nb_possibilites++;
    
    for( i = 0; i <= nb_possibilites; i++)
    	{
    		printf("tab[%lu] : %s \n", i, tab[i]);
    		
    	}
    
    			buffer = calloc(taille + 1, 1);
    			strncpy (buffer, chaine+debut, taille);
    			tab[nb_possibilites] = buffer;
    
    			printf("tab[%u] est:  %s \n", nb_possibilites, tab[nb_possibilites]);
    		}
    printf ("------------------------------------------------\n");
    
    		putchar('\n');
    	}
    
    
     	// Affichage resulat
     	puts("RESULTATS");
    
    // 	size_t i;
    	for( i = 1; i <= nb_possibilites; i++)
    	{
    		printf("tab[%lu] : %s \n", i, tab[i]);
    		free(tab[i]);
    	}
    
    	return 0;
    }
    oui j'ai réalisé l'algorithme et mon algorithme est exacte et logique.

  2. #22
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Tu boucles sur les termes déjà enregistrés et tu fais la comparaison avec strcmp().
    Tu n'as pas besoin de comparer avec tous les termes précédents mais seulement avec les termes de même taille. Il faut donc retenir nb_possibilites au debut de la boucle et comparer les éléments entre cette valeur mémorisée et la valeur courante.


    oui j'ai réalisé l'algorithme et mon algorithme est exacte et logique.
    Euh... Non, puisque tu viens nous demander comment faire et que tu n'arrives pas à l'implémenter.

    Mais pourquoi n'as tu pas juste déplacé cette instruction ? J'ai mis size_t et toi tu mets int. Il y a une logique à mettre size_t puisque c'est un index dans un tableau et que le type dédié pour cela est size_t Pour info : http://www.viva64.com/en/t/0044/

    Pour savoir comment faire, regarde le début de mon post : transgohan t'a donné la réponse.

  3. #23
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 317
    Par défaut
    je vous demande pour avoir de l'aide,mais l'idée de l'algorithme est exacte.
    excuse moi mais je comprends pas. vous m'avez dit de retenir nb_possibilites au debut de la boucle et comparer les éléments entre cette valeur mémorisée et la valeur courante.
    c'est à dire mémorisée nb_possibilites à l'extérieur de la boucle??puis faire le parcours à cette valeurs puis la dernière valeur de nb_possibilites??
    merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Probléme Bizzare dans les tableaux
    Par amine008 dans le forum Développement Windows
    Réponses: 2
    Dernier message: 27/10/2010, 10h13
  2. [WD-2003] Problème de tailles fixes dans les tableaux
    Par ptitmau dans le forum VBA Word
    Réponses: 9
    Dernier message: 17/08/2010, 21h24
  3. Réponses: 0
    Dernier message: 12/02/2009, 13h07
  4. Problème de débutant dans les tableaux
    Par mat1450 dans le forum C++
    Réponses: 8
    Dernier message: 17/08/2007, 19h09
  5. Réponses: 14
    Dernier message: 01/09/2003, 22h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo