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 :

Tableaux de caractères


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 6
    Par défaut Tableaux de caractères
    Bonjour,

    Je dois créé un programme C qui :
    - initialise un tableau de 50 caractères 'a' ... 'z' générés aléatoirement
    - affiche le tableau
    - calcule la plus petite lettre de l'alphabet présente dans le tableau et donne l'indice de sa première occurrence,
    - affiche les lettres présentes, sans duplication

    J'ai déjà rempli les trois premières conditions, mais je bloque à la troisième. Je n'arrive pas à afficher les lettres présentes sans duplication. Pourriez-vous m'aider ?

    Voici mon programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include<stdio.h>
    #include<stdlib.h>
    #include <time.h>
     
    int main(){
    <div style="margin-left:40px">int T[50],i,j,min = 0;</div>    <div style="margin-left:40px">srand ( time ( NULL ) );</div>    <div style="margin-left:40px">for(i=0;i<50;i++){</div>                      <div style="margin-left:40px"><div style="margin-left:40px">T[i]=rand()%26+'a';</div></div>                      <div style="margin-left:40px"><div style="margin-left:40px">printf("T[%d]=%c \n",i,T[i]);</div></div>                      <div style="margin-left:40px"><div style="margin-left:40px">if(T[min]>T[i]){</div></div>                                     <div style="margin-left:40px"><div style="margin-left:40px"> min=i;</div></div>                                     <div style="margin-left:40px"><div style="margin-left:40px"> }</div></div>                      <div style="margin-left:40px">}</div>    printf("L'indice de la première occurrence de la plus petite lettre de l'alphabet présente dans le tableau est %d. \n",min);                                
        return 0;
    }

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    1) Mettre une constante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define LONGUEUR_MAX 50
    à utiliser pour dimensionner le tableau et pour la boucle.
    2)
    Je propose une seconde boucle for après la première.
    Dans cette boucle, il pourrait y avoir:
    déclaration d'une variable minorValue initialisée à 0
    déclaration d'un seconde table de taille LONGUEUR_MAX ainsi que sa dimension nbValue initialisée à 0

    • si la valeur de la case pointée par rapport à une variable (minorValue) alors mémorisation de cette valeur dans minorValue
    • si cette valeur n'est pas dans la seconde table (qui doit être parcourue) alors mémorisation dans la seconde table avec incrément de nbValue


    Une fois la seconde boucle terminée, alors on peut afficher les nouvelles variables.

Discussions similaires

  1. Traitement tableaux de caractères de longueur fixe
    Par masoum dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 31/10/2012, 07h34
  2. Réponses: 6
    Dernier message: 07/07/2011, 20h53
  3. conjugaison => tableaux de caractères & ERREURS
    Par darkwall_37 dans le forum C
    Réponses: 7
    Dernier message: 25/11/2007, 15h36
  4. [Tableaux] remplacer caractère '
    Par robert_trudel dans le forum Langage
    Réponses: 1
    Dernier message: 01/10/2006, 03h53
  5. Tableaux de caractères
    Par spilarix dans le forum C++
    Réponses: 12
    Dernier message: 28/03/2006, 23h04

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