Aide - langage C -

Fermé
SuzuKi - 2 déc. 2011 à 17:02
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 6 déc. 2011 à 23:33
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

A voir également:

3 réponses

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
2 déc. 2011 à 17:05
0
prypiat_child Messages postés 1343 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 10 avril 2014 272
2 déc. 2011 à 17:06
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
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
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 2/12/2011 à 19:55
Salut ...
Suffit de décrémenter la première boucle, et initialiser i à N !
0
^^
merci ca marche bien
vous pouvez m'aider sur l'exercice 2 svp ??
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
2 déc. 2011 à 23:36
ben montre ce que t'as fait !
0
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
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
6 déc. 2011 à 23:33
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