Exercices à résoudre

jomsow Messages postés 2 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 30 avril 2010 - 29 avril 2010 à 13:21
jomsow Messages postés 2 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 30 avril 2010 - 30 avril 2010 à 12:38
bonjour je suis débutant en C svp aidez moi à résoudre ces deux exercices :

Exercice 1:
Modifier le programme suivant de telle sorte qu'il affiche aussi le maximum et le minimum des 10 nombres saisis : (copier et coller le programme suivant dans Dev C++ en vue de la modification)

#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
float nombre[10],moyenne = 0,ecart_type = 0;
int i;

/* saisie des nombres */
printf("SAISIR 10 NOMBRES SEPARES PAR RETURN: \n");
for(i=0;i<10;i++)
{
printf("nombre[%1d] = ",i);
scanf("%f",&nombre[i]);
}
/* calculs */
for(i=0;i<10;i++)
{
moyenne = moyenne + nombre[i];
ecart_type = ecart_type + nombre[i]*nombre[i];
}
moyenne = moyenne/10;
ecart_type = ecart_type/10;
ecart_type = ecart_type - moyenne*moyenne;
ecart_type = sqrt(ecart_type); /* racine */
printf("MOYENNE %f ECART_TYPE %f\n",moyenne,ecart_type);
printf("POUR CONTINUER FRAPPER UNE TOUCHE: ");
getch();
}

Exercice 2:
Définir une fonction factorielle permettant de calculer n ! ou n est entier, ensuite écrire un programme qui utilisera cette fonction et qui permet d'afficher les 20 premiers termes de la suite : Un= expon/n!

merci d'avance

5 réponses

pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
29 avril 2010 à 13:32
Pour le minimum et le maximum

Il faut rajouter 2 variables : int min et int max.

dans for :


for(i=0;i<10;i++) 
{ 
if (i == 0)
{
min = nombre[0]; // "initialise" les nombres min
max = nombre[0]; // et max
}
else 
{
if ( nombre [i] > max) //Si il trouve un nombre plus grand
max = nombre [i]; // max devient ce nombre
if (nombre [i] < min) // Pareil avec min s'il trouve plus petit
min = nombre [i];
}
} 

// Et voila, à la fin de ta boucle min contient le nombre minimum,
//et max le maximum


Voila, pour les extrêmes , je réfléchirais à la question d'après si j'ai le temps (d'ailleurs n est égal à quoi exactement ?).


Pop70
0
pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
29 avril 2010 à 13:50
Si n! est la fonction factorielle entre deux nombre max et min,

tu fait une boucle :

int fonctionFact (int min, int max)
{

int i = 0;
int n = 0;
for (i == max; i <= min; i--)
{
if (i == max)
{
n = i;
}

else
{
n*=i;
}
}

return n;
}



Je n'ai pas testé le code, mais je pense qu'il devrait fonctionner


Pop70
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 avril 2010 à 14:50
Initialiser avant, inutile d'avoir 10 sauts de code (IF) dans la boucle.
min = nombre[0]; // "initialise" les nombres min
max = nombre[0]; // et max
for(i = 1; i < 10; i++) {
if(nombre[i] > max) max = nombre[i];
if(nombre[i] < min) min = nombre[i];
}


ciao...
BruNews, MVP VC++
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
29 avril 2010 à 14:56
@pop70: Ça part sûrement d'une bonne intention, mais il ne faut pas faire les devoirs des étudiants un peu feignants. Ici, il poste ses exercices sans chercher. Il ne montre pas les pistes qu'il a abordé. Dans ce genre de cas, on demande à celui-ci d'essayer faire l'exercice et on lui propose de le corriger. Qui plus est, il y a des erreurs dans ta deuxième fonction, et la première aurait pu être écrit un peu plus élégamment (en sortant l'affectation de élément[0]).

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jomsow Messages postés 2 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 30 avril 2010
30 avril 2010 à 12:38
merci les amies .
0
Rejoignez-nous