Adapter une fonctions ! besoin d'aide svp . !

Résolu
Pmastery Messages postés 87 Statut Membre -  
loupius Messages postés 789 Statut Membre -
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 !
Configuration: Linux Fedora 12
Firefox 3.5.6

6 réponses

  1. scriptiz Messages postés 1494 Statut Membre 425
     
    int main()
    {
    	std::cout << "Lancement de la procédure SicBo" << std::endl;
    	SicBo();
    	return 0;
    }
    0
  2. loupius Messages postés 789 Statut Membre 148
     
    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
  3. Pmastery Messages postés 87 Statut Membre 2
     
    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
  4. loupius Messages postés 789 Statut Membre 148
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Pmastery Messages postés 87 Statut Membre 2
     
    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
  7. loupius Messages postés 789 Statut Membre 148
     
    Solution:
    #include <iostream>
    using namespace std;
    
    void SicBo(void)
    {
      ...
    }
    
    int main()
    {
      ...
    }
    Et tout ira mieux ! Je te laisse réfléchir.
    0