Adapter une fonctions ! besoin d'aide svp . !

Résolu/Fermé
Pmastery Messages postés 84 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 2 décembre 2011 - 5 janv. 2010 à 05:51
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 5 janv. 2010 à 22:51
Bonjour,


bon je suis pas un caler en c++ mais j'ai mis la main sur une fonction
qui calcule la somme et probabiliter quand on lance 3 de.


voici la fonction:

void SicBo(void)
{
	int i,d1,d2,d3,tot,tot_array[19];
	for (i=0; i<=18; i++)
		tot_array[i]=0;
	for (d1=1; d1<=6; d1++)
	{
		for (d2=1; d2<=6; d2++)
		{
			for (d3=1; d3<=6; d3++)
			{
				tot=d1+d2+d3;
				tot_array[tot]++;
			}
		}
	}
	cout << "Total\tCombinations\tProbability\n";
	for (i=3; i<=18; i++)
		cout << i << "\t" << tot_array[i] << "\t" << (float)tot_array[i]/216 << "\n";
}



comment pourrait je faire le main qui apelle cette fonction et du coup men servir :)

merci a vous messieur les programmeur !

6 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
5 janv. 2010 à 08:47
int main()
{
	std::cout << "Lancement de la procédure SicBo" << std::endl;
	SicBo();
	return 0;
}
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
5 janv. 2010 à 12:02
Cette fonction peut s'écrire plus simplement:
void SicBo(void)
{
  int tot_array[16] = {0};
  for (int d1=0; d1<6; d1++)
    for (int d2=0; d2<6; d2++)
      for (int d3=0; d3<6; d3++)
        tot_array[d1+d2+d3]++;
  cout << "Total\tCombinations\tProbability\n";
  for (int i=0; i<16; i++)
    cout << i+3 << "\t" << tot_array[i] << "\t" << (float)tot_array[i]/216 << "\n";
}
Bonne journée.
0
Pmastery Messages postés 84 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 2 décembre 2011 2
5 janv. 2010 à 21:39
avec

#include <iostream>
using namespace std; ??

la jai quelque erreur par rapport au cout ?
sans compter que jai pas iostream !?

sicbo.c:1:20: error: iostream: No such file or directory
sicbo.c:2: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘namespace’
sicbo.c: In function ‘main’:
sicbo.c:6: error: ‘cout’ undeclared (first use in this function)
sicbo.c:6: error: (Each undeclared identifier is reported only once
sicbo.c:6: error: for each function it appears in.)
sicbo.c:6: error: ‘endl’ undeclared (first use in this function)
sicbo.c: At top level:
sicbo.c:11: warning: conflicting types for ‘SicBo’
sicbo.c:7: note: previous implicit declaration of ‘SicBo’ was here
sicbo.c: In function ‘SicBo’:
sicbo.c:27: error: ‘cout’ undeclared (first use in this function)


voila les erreur apres la commande
gcc sicbo.c


bon et bien merci beaucoup pour le main !

@+
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
5 janv. 2010 à 22:03
La ligne de compilation minimum est::
g++ -Wall sicbo.c
Nota: Il serait quand même plus logique que l'extension du fichier soit: 'cpp'.
Bonne continuation.
0

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

Posez votre question
Pmastery Messages postés 84 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 2 décembre 2011 2
5 janv. 2010 à 22:11
ha voila qui va mieux ! :)

voici le code complet ! en bas voila lerreur de compil !

#include <iostream>
using namespace std;

int main()
{
	cout << "Lancement de la procédure SicBo" << endl;
	SicBo();
	return 0;
}

void SicBo(void)
{
	int i,d1,d2,d3,tot,tot_array[19];
	for (i=0; i<=18; i++)
		tot_array[i]=0;
	for (d1=1; d1<=6; d1++)
	{
		for (d2=1; d2<=6; d2++)
		{
			for (d3=1; d3<=6; d3++)
			{
				tot=d1+d2+d3;
				tot_array[tot]++;
			}
		}
	}
	cout << "Total\tCombinations\tProbability\n";
	for (i=3; i<=18; i++)
		cout << i << "\t" << tot_array[i] << "\t" << (float)tot_array[i]/216 << "\n";
}



voici l'erreur apres la commande suivante :

[master@l10 Desktop]$ g++ -Wall sicbo.cpp
sicbo.cpp: In function ‘int main()’:
sicbo.cpp:7: error: ‘SicBo’ was not declared in this scope
[master@l10 Desktop]$


merci beaucoup a tous . ! :)

A+
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
5 janv. 2010 à 22:51
Solution:
#include <iostream>
using namespace std;

void SicBo(void)
{
  ...
}

int main()
{
  ...
}
Et tout ira mieux ! Je te laisse réfléchir.
0