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

avec Java Discussion :

Trouver le caractère le plus fréquent


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 46
    Par défaut Trouver le caractère le plus fréquent
    Bonsoir,

    Ci dessous le programme développé.
    Pouvez m'indiquer ce qui ne fonctionne pas.

    Merci et bonnes fêtes

    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
    import java.util.Scanner;
    public class essai {
    	private static Scanner reader;
    		public static void main(String[] args) {	
    			reader = new Scanner(System.in);
    	System.out.println("Enter the String");
    	String s = reader.next();
    	char a [] = s.toCharArray();
     	System.out.println(caractereleplusfrequent (s.toCharArray()));
    		}
     
    		public static int caractereleplusfrequent (char a []) {
    		int  n=0;
    		int indice = -1;
    		char result =' ';
    		for(int i = 0; i < a.length; ++i) {
    		if((a[i]==n)&&(indice==-1)) {
    			result = a[i];
    		}
    		}
    		return result;
    		}
    }

  2. #2
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut

    Qu'entends tu par "ne fonctionne pas" ?
    Ton programme plante ? Dans ce cas quelle est l'erreur ?
    Ton programme ne fait pas ce qui est souhaité ? Quel est ton résultat ?




    Par ailleurs Je ne comprends pas quelle est la logique derrière ta fonction caractereleplusfrequent ?
    Quel est le but des variables indice et n, puisque tu n'en fait rien ?
    Pourquoi comparer indice à -1 puisque indice ne change jamais ?

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 46
    Par défaut
    Bonsoir Drowan,

    Pour te répondre :
    Ton programme ne fait pas ce qui est souhaité ? Quel est ton résultat ?
    Le programme me renvoie 32

    Quel est le but des variables indice et n, puisque tu n'en fait rien ?
    indice doit correspondre au rang d'apparition d'une lettre et n compte le nombre de fois où apparaît la lettre.
    pour Kayak 2a et 2k.
    la réponse doit être k, car la lettre apparaît en 1er.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2019
    Messages : 5
    Par défaut
    bonsoir steph-0329

    Le programme me renvoie 32
    c'est normal regarde ce que tu as écrit

    va faire un tour ici et la lumière sera

    https://fr.wikipedia.org/wiki/Americ...on_Interchange

    Sinon pour l'algorithme essaie un truc dans le genre

    prendre une lettre i quelconque d'un mot. 1er parcours
    question ? est-ce que la lettre i est déjà dans le tableau de résultat ( autrement dit est-elle déjà comptée?)
    si oui on passe à la lettre suivante
    si non on la rajoute dans le tableau de résultat ET on compte dans tout le mot les occurrences de la lettre 2ième parcours

    je te donne mes commentaires de mon algo, j'ai du plancher sur le même genre d'exercice, a ton tour

    // LE TABLEAU DU MOT
    // déclaration d'un tableau de CHAR du mot a trouver
    // initialisation du tableau

    // LE TABLEAU DE DOUBLONS
    // déclaration du tableau de doublons
    // création du tableau de doublons
    // initialisation du tableau avec des espaces (codé en ascii?)

    // LE TABLEAU DES OCCURRENCES DES LETTRES
    // déclaration du tableau d'entiers des occurrences
    // création du tableau des occurrences
    // initialisation du tableau avec des 0

    // DÉCLARATIONS DES VARIABLES
    // 2 variables de type CHAR (caractère)
    // 1 variable de type INT (entier)

    ///// parcours du tableau du mot : du début jusqu’à la fin du tableau OU le premier espace
    ///// l'incrémentation se fera dans la deuxième boucle
    //////// toutes les lettres du tableau seront comparées à la lettre de référence

    //////// parcours du tableau de résultat dans sa totalité avec cependant des sorties de boucles anticipées
    //////// l'incrémentation se fera dans la boucle
    /////////// toutes les lettres du tableau seront comparées à la lettre de référence
    /////////// 1er cas de sortie la lettre de référence a déjà été trouvée
    /////////////// passer à la lettre suivante
    /////////////// sortir de la boucle sans faire un break en portant le compteur de boucle au delà des conditions
    ////////////// 2er cas de sortie la lettre de référence n'a pas été trouvée et on a rencontré un espace
    ////////////// ou le tableau était vide (premier lettre du mot)
    ///////////////// remplir le tableau des doublons
    ///////////////// compter toutes les occurrences de la lettre en référence
    ///////////////// parcourir tout le tableau soit jusqu'à la fin soit jusqu'à rencontrer un espace
    //////////////////// compter les occurrences de la lettre de référence
    //////////////////// fin if
    ///////////////// fin for
    ////////////// fin if
    ////////////// la lettre de référence n'a pas été trouvée on teste la suivante
    ////////////// fin else
    /////////// fin if ... else
    //////// fin for
    ///// fin for

    allez courage

    Logogramme

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/01/2014, 15h41
  2. [XL-2010] Trouver la chaine de caractères la plus longue dans une selection
    Par skaz26 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2013, 15h55
  3. [AC-2010] Trouver la chaine de caractère la plus semblable
    Par zemeilleurofgreg dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 05/11/2012, 16h50
  4. Trouver 4 caractères ou plus dans un id
    Par dominos dans le forum jQuery
    Réponses: 6
    Dernier message: 01/12/2011, 16h01
  5. trouver le mot le plus fréquent
    Par Messi007 dans le forum VB.NET
    Réponses: 11
    Dernier message: 28/03/2011, 20h29

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