Les tableaux

Résolu
xelados Messages postés 9 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 15 avril 2005 - 10 avril 2005 à 19:12
Vincentsoft Messages postés 68 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 17 avril 2009 - 12 avril 2005 à 13:45
Mon probleme porte sur les tableaux je comrpend plus ou moin ce qui ne fonctionne pas ... mais en gros je voulais que mon tableau (tab) sois dynamique que je puisse entree le nombre de case de mon tableau a une dimension ensuite selon le nombre delement j'entree la valeur de chacun manuellement pour ensuite c la que je ne comprend pas ... je veux faire la moyenne de tout cela mais je sais pas comment addition chaque element et selon le nombre de case que jai choisi prealablement il les additionne "des entier avec un seul chiffre apres le point " et il fait une moyenne de tout cela... donc maintenant quand je l'essais sa me donne comme moyenne -1234354546546e+4543 quelque chose du genre .... alors jen nais deduit que la probleme provenais de laddition de chaque element qui ne ce fait pas ... ou peut etre suis-je dans lerreur .
jai comme compilateur MSVC++2003.net merci a lavance si vous pouvez maider a me demeler ladans.

#include

int main()
{

float * tab;

int a=0,b;


std::cout<<"Entree le nombre d'elements : ";
std::cin>>a;
std::cout<<"\n";


tab =
new
float[a];



for (b=0;b>tab[b];
}


tab[b] /= a;


std::cout<<"La moyenne est : "<<tab[b];



return 0;
}

7 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
11 avril 2005 à 09:24
tab[b] /= a
> tu divise par le nombre d'élément une case du tableau qui n'existe pas (en sortie de boucle b vaut a et donc tu fait tab[a]/a avec un tableau alloué de 0 à (a-1)).

Ensuite tu parle d'une addition qui ne se fait pas. En tout cas elle va pas se faire toute seule.

Si c'est pour faire une moyenne, pas besion de stocker tous les éléments, tu peux faire l'a somme au fur et à mesure mais bon voici comment le faire :

#include

int main()
{
float * tab;
float somme;
int a=0,b;
std::cout<<"Entree le nombre d'elements : ";
std::cin>>a;
std::cout<<"\n";


tab = new float[a];
somme = 0;
for (b=0;b>tab[b];
somme += tab[b];
}


somme /= a;


std::cout<<"La moyenne est : "<<somme;


return 0;
}
3
xelados Messages postés 9 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 15 avril 2005
11 avril 2005 à 14:12
merci pour ton aide .. en gros c que je voulais que je puisse stucker des entier avec une decimal seulement ... pis pouvoir en rajouter et en enleve a velonter ... pour ensuite faire une moeynne qui est mon speed factor de pour le groupe de valeur que jaurai entree prealablement sa fonctionne mais le seul probleme c quand joptien ma reponse elle contient 2 chiffre apres le point alors que jen veux que une .. comment je pourrais sois arrondir ou completement enleve le deuxieme chiffre apres le point :)
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
11 avril 2005 à 14:29
float val = 1.23456;
printf("%.1f", val);
0
xelados Messages postés 9 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 15 avril 2005
11 avril 2005 à 15:10
merci ymca2003 :) ya t-il la meme chose en C++ plutot qu'ent C j'ai plus ou moin essayer le C jai passer au C++ jai lu un livre qui parlais des deux et de leur difference mais c loin contenir tout meme pour 400 page sur le sujet du C et C++.
0

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

Posez votre question
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
11 avril 2005 à 15:14
je sais que c'est possible mais j'utilise jamais cout, donc aucune idéee de la méthode
0
Vincentsoft Messages postés 68 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 17 avril 2009
12 avril 2005 à 13:43
Salut,



Avec cout, il faut indiqué la précision,



float FNb=0.123456;

cout << setprecision(1) << FNb ;



Ca te donne 0.1

Vincentsoft
0
Vincentsoft Messages postés 68 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 17 avril 2009
12 avril 2005 à 13:45
Si tu veux plus d'infos concernant les manipulaeur en C++, tape dans google manipulateur c++



Vincent
0
Rejoignez-nous