Rechercher : dans
Par :

Algorthme nombres Occurence

Dernière réponse le 15 avr 2008 à 20:20:28 bansan, le 15 avr 2008 à 18:28:33 
 Signaler ce message aux modérateurs

Bonjour,
Voici un exercice dont je ne vois pas la fin bien que j'ai commencé les commandes
Si qqun pouvait m'aider
Merci

Exercice 13 - Nombre d'occurrences
La variables Occurrences un tableau d’entiers. Le rôle de ce tableau est de contenir le nombre
d’occurrences de chacun des caractères présents dans une chaîne saisie par l’utilisateur (on suppose
que celui-ci ne saisit que des lettres minuscules non accentuées).

Ecrire l’algorithme dont le rôle est
de calculer le nombre d’occurrences de chaque caractère de la chaîne et de mémorise chaque
occurrence dans le tableau Occurrences. L'indice d'un élément du tableau correspond au "numéro
d'ordre" de la lettre dans l'ordre alphabétique.

Exemple : Etat du tableau Occurrences après recherche du nombre d'occurrences des caractères
présents dans la chaîne "baobab".
2 3 0 0 0 0 1 0 0 0
1 2 3 4 5 14 15 16 25 26
Occurrences[1] correspond au nombre d'occurrences du caractère "a" (c.à.d. 2).
Occurrences[2] correspond au nombre d'occurrences du caractère "b" (c.à.d. 3).
Occurrences[3] correspond au nombre d'occurrences du caractère "c" (c.à.d. 0).
... et ainsi de suite.


J'utilise le tableau ASCII des leetres miniscules qui commence a 97 et finissent a 122

Voici mon debut

Variables: phrase,first_letter: chaine
i,j : entier


DEBUT
Afficher ("Ecrire une chaine")
Saisir( phrase)
long<- LONGUEUR(phrase)
Pour i de 1 a 26
Tab[i] <- car(96+i)
Pour j de 1 à long
fisrt_letter<- sschaine(phrase,long,1)
Si Tab[i]=first_letter
Tab[i]......

La je m'embrouille
Merci de m'aider

Merci bcp




Configuration: Windows XP
Firefox 2.0.0.13

Meilleures réponses pour « Algorthme nombres Occurence » dans :
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
[Word] Écrire un nombre en toutes lettres VoirPour transformer un nombre en toutes lettres sans se perdre dans l'orthographe (tirets, 's'...), il est possible de demander à Word de formater ce nombre en lettres : Créer un champ avec CTRL-F9 S'affichera {} à l'écran Le remplir avec la...
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
Représentation des nombres entiers et réels VoirReprésentation d'un nombre dans un ordinateur On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celui-ci...

1

 lami20j, le 15 avr 2008 à 20:20:28
  • +1

Salut,

voici un exemple en C

lami20j@debian:~$ cat occurence.c
#include<stdio.h>
#define TAILLE 26

int main ()
{
  char s[30];
  int histo[TAILLE];
  int i, c;

  for (i = 0; i < TAILLE; ++i)
    histo[i] = 0;
  printf ("Chaine ? ");
  fgets (s, 30, stdin);

  i = 0;
  while ((c = s[i]) != '\0') {
    histo[c - 97]++;
    ++i;
  }
  for (i = 0; i < TAILLE; ++i)
    printf ("%c - %d\n",i+97, histo[i]);
  printf("Appuyez sur une touche pour continuer ...");
  getchar();
  return 0;
}
lami20j@debian:~$ ./a.out
Chaine ? baobab
a - 2
b - 3
c - 0
d - 0
e - 0
f - 0
g - 0
h - 0
i - 0
j - 0
k - 0
l - 0
m - 0
n - 0
o - 1
p - 0
q - 0
r - 0
s - 0
t - 0
u - 0
v - 0
w - 0
x - 0
y - 0
z - 0
Appuyez sur une touche pour continuer ...
lami20j@debian:~$
106485010510997108

Répondre à lami20j