tableaux et chaines de caractères

tableaux et chaines de caractères - C - Programmation

Marsh Posté le 03-05-2012 à 11:43:43    

bonjour j'ai un problème sur cet exercice car je ne comprends ABSOLUMENT RIEN aux tableaux, vous pouvez m'aider s'il vous plait ?
 
1) Ecrivez un programme qui déclare un tableau d'au plus 100 caractères (le au plus me pose probleme :s)
2) Modifiez votre programme pour effectuer la saisie d'une chaîne de caractères tapée par l'utilisateur. L'utilisateur terminera sa saisie en appuyant sur la touche Enter (notée en C '\n'). Vous pourrez utiliser la fonction getchar qui retourne un caractère tapé.
3) Ecrivez une fonction qui affiche une chaîne de caractères. Modifiez votre programme pour afficher la chaîne de caractères saisie. Pour cette question, il est demandé de ne pas utiliser printf("%s", chaîne); (qui permet d'afficher une chaîne de caractères en C).
4) Ecrire une fonction, nommée comptchr, qui retourne le nombre de fois où le caractère contenu dans le paramètre formel c apparaît dans une chaîne de caractère
5) Ecrivez une fonction, nommée comptAlphabet, qui retourne le nombre de lettres (majuscules ou minuscules) dans une chaîne de caractères.
6) Ecrivez une fonction qui compte le nombre de mots dans une chaîne de caractères. Les mots sont séparés par des espaces.
 

Reply

Marsh Posté le 03-05-2012 à 11:43:43   

Reply

Marsh Posté le 03-05-2012 à 12:40:01    

Tu peux copier ce que tu as déjà fait ?

Reply

Marsh Posté le 03-05-2012 à 13:07:56    

Pour la premiere question je pensais à  

Code :
  1. #include<stdio.h>
  2. int main() {
  3. char t[100]
  4. return 0;
  5. }


mais ça ne prend pas au moins 100 caractères
 pour la 2) je ne comprend pas comment faire pour stocker la saisie

Code :
  1. printf("Entrez une chaine de caractère et appuyez sur entrer\n" );
  2. ....
  3. ....


donc les questions d'après je ne vois pas comment faire

Reply

Marsh Posté le 03-05-2012 à 13:38:58    

techniquement on devrait mettre

Code :
  1. char chaine[] = "Texte à Entrer"


cependant c'est l'utilisateur qui doit rentrer le texte donc il faut le stocker non ?

Reply

Marsh Posté le 03-05-2012 à 13:51:20    

oui et ton énoncé te dis que tu peux utiliser getchar pour capturer les caractères tapés

Reply

Marsh Posté le 03-05-2012 à 13:57:51    

Le soucis c'est que je ne connais pas getchar, j'ai essayé de faire quelque chose mais ça ne donne rien  

Code :
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main () {
  4.     char t[100];
  5.     int i=0;
  6.     char* S;
  7.     printf("Entrez une chaine de charactère et appuyez sur Entrer\n" );
  8.     getchar(S);
  9. return 0;
  10. }


ça me dit que ça ne connait pas la fonction getchar

Reply

Marsh Posté le 03-05-2012 à 14:06:01    

Ton énoncé te dis : "Vous pourrez utiliser la fonction getchar qui retourne un caractère tapé."
 
C'est donc dans tes cours normalement mais je pense qu'il s'agit de quelque chose du genre :
 
char    getchar()
{
  char c;
  read(1, &c, 1);
  return c;
}
 

Reply

Marsh Posté le 03-05-2012 à 15:16:38    

pour la question 4) j'ai voulu essayer ça mais ça ne marche pas :s

Code :
  1. int comptchr (){
  2.     int p, j=0, i, a;
  3.     char* t[p];
  4.     for(t[i]=t[0]; t[i]<=t[p]; i++){
  5.                 if(t[i]==t[a]){
  6.                            j++;
  7.                 }
  8.     }
  9. return j;
  10. }

Reply

Marsh Posté le 03-05-2012 à 15:45:57    

"paramètre formel c" c'est passé au moment de l'appel de la fonction donc celui ci doit appaitre dans les arguments de la fonction
 
Ensuite, est ce que ta chaine t est déclaré en global, en dehors du main ?
Essai de faire un printf("%s\n", t); dans ta fonction pour voir si tu as bien accès a t


Message édité par muikwi le 03-05-2012 à 15:46:47
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed