Aide - langage C -

SuzuKi -  
JooS Messages postés 2705 Statut Membre -
Bonjour,

vous pouvez svp m'aider sur ces exercices de langage C

Exercice 1

écrire un programme qui lit des caractéres et s'arréte a la lecture d'un '.' , ce programme compte et affiche

le nombre des caractéres lus , le nombre d'occurences de chacune des voyelles

Exercice 2

ecrire un programme qui calcule et affiche la somme de la série

1-2+3-4...............±N

(Redemander la saisie si l'entier saisi N n'est pas strictement positif)

Exercice 3

ecrivez un programme permettant d'afficher un triangle de hauteur N ; N étant demandé a l'utilisateur et représentant

a la fois le nombre maximum d'étoiles sur la premiére ligne et le nombre de lignes

exemple : N=4

****

***

**

*

et merci d'avance

3 réponses

  1. prypiat_child Messages postés 1500 Statut Membre 273
     
    On peut t'aider, oui, mais pas te faire ton exo à ta place... Si on te l'a donné c'est pour te faire réfléchir un peu.

    Petit conseil : Commence par réfléchir sur papier, en algorithmique. Après il ne s'agira juste que de "traduire" en C.
    0
    1. SuzuKi
       
      j'ai reussi a faire un programme pour l'exercice 3
      qui donne des etoiles ( si on tape 3 par exemple )

      ***
      **
      *

      #include <stdio.h>
      #include <stdlib.h>
      int main ()
      {
      int N,i,j ;
      printf ("entrer la valeur de N") ;
      scanf ("%d",&N) ;
      for (i=1 ; i<=N ; i++)
      {
      for (j=1 ; j<=i ; j++ )
      {
      printf ("*") ;
      }
      printf ("\n") ;
      }
      return EXIT_SUCCESS;
      }

      je l'ai testé sur code blocks ca marche bien
      mais ce que je veux c'est l'inverse
      *
      **
      ***

      j'arrive pas a le faire
      vous pouvez me donner des indications svp ???
      j'ai un examen demain :'(
      0
    2. JooS Messages postés 2705 Statut Membre 228
       
      Salut ...
      Suffit de décrémenter la première boucle, et initialiser i à N !
      0
    3. SuzuKi
       
      ^^
      merci ca marche bien
      vous pouvez m'aider sur l'exercice 2 svp ??
      0
    4. JooS Messages postés 2705 Statut Membre 228
       
      ben montre ce que t'as fait !
      0
    5. SuzuKi
       
      voila pour l'exercice 2...

      #include <stdio.h>
      #include <stdlib.h>
      int main ()
      {
      int N,i,j,S1,S2,S ;
      printf ("entrer la valeur de N") ;
      scanf ("%d",&N) ;
      for (i=1 ; i<N ; i=i+2)
      {
      S1=i ;
      }
      for (j=2 ; j<N ; j=j+2)
      {
      S2=j ;
      }
      if ( N & 1 ) *//* SI N EST UN NB IMPAIRE *//*
      {
      S=S1-S2+N ;
      }
      else
      {
      S=S1-S2-N ;
      }
      printf ("la valeur de S est %d\n", S) ;
      return EXIT_SUCCESS;
      }

      Ça marche pas
      j crois qu'il y a un problème dans les boucles (les pas) !! non ?
      0
  2. JooS Messages postés 2705 Statut Membre 228
     
    Si tu comprend pas, tu demande !
    #include <stdio.h>
    #include <stdlib.h> 
    
    int main () {
      char carr[1];
      int nbre=0,a=0,e=0,i=0,o=0,u=0,c;
      
      while(carr != '.') {
        scanf("%1s",carr);
       
        /*
        scanf("%c",carr);
        getchar ();
        */
    
        if(carr[0] == '.') break;
        
        nbre++;
    
        switch(carr[0]) {
          case 'a':a++;break;
          case 'A':a++;break;
          case 'e':e++;break;
          case 'E':e++;break;
          case 'i':i++;break;
          case 'I':i++;break;
          case 'o':o++;break;
          case 'O':o++;break;
          case 'u':u++;break;
          case 'U':u++;break;
          default:break;
        }
      }
    
      printf("\nIl y a : \n%d A\n%d E\n%d I\n%d O\n%d U\n\nSur %d caracteres.",a,e,i,o,u,nbre);
    
      return 0;
    }
    0