IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Compter le nombre de zéros dans le tableau x.


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Par défaut Compter le nombre de zéros dans le tableau x.
    salut
    je suis tres heureux d appartenir a votre forum de discusion, je suis etudiant et debutant dans la programmation. j aimerais votre aider sur la maniere dont je pourrais ecrire ce programme. je vous presente l exercice:

    Compter le nombre de zéros dans le tableau x. (Code compilé qui ne change pas la valeur de x, après l'exécution de laquelle la valeur d'une variable entier égal au nombre de zéros entre les composantes de la matrice x.)
    Décision
    ...
    {invariant: k = nombre de zéros parmi les x[1] ... x [i]}
    ...

    merci pour toute votre aide...

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    As-tu déjà fait quelque chose ? peux-tu décrire ce qui te pose problème ?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour et bienvenu,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::count(tab, tab+i,0);

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Par défaut
    salut a tous et merci pour votre aide mais j arrive pas a placer dans le programme le code que vous m avez donné, voila le programme que j ai ecris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #include <iostream>
    #include <conio.h>
    #include <stdio.h>
    using namespace std;
    main()
    {
         int n;
         setlocale(0,"");
         cout<<"entrer la forme de la matrice:\n\n";
         cin>>n; 
         int **a=new int*[n];
         for (int i=0;i<n; i++)
                  if((a[i]=new int [n]) == NULL)
                  {
                               cout<<"il n y a pas de memoire!\n";
                               exit(1);            
                  }
         cout<<"debut de la matrice:\n\n";
         for(int i=0;i<n;i++)
         {
                 for (int j=0; j<n; j++)
                 {
                     a[i][j]=1;
                     cout.width(3);
                     cout<<a[i][j];
                 }
                 cout<<"\n\n";
         }
         puts("taper une touche pour quitter");
         getch ();
    }
    mais ce programme n affiche que les 1...par contre je cherche un programme qui me permettrais de faire entrer des nombres et de montrer combien de zero y en a...voila mon enorme probleme...
    merci pour votre aide precieuse...

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Par défaut
    Citation Envoyé par la boussole ekra Voir le message
    j arrive pas a placer dans le programme le code que vous m avez donné, voila le programme que j ai ecris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #include <iostream>
    #include <conio.h>
    // A quoi sert-il ?
    #include <stdio.h>
    // Tu mélanges entrées sorties C et C++ ?
    using namespace std;
    main()
    {
         int n;
         setlocale(0,"");
    // Tu en es déjà à gérer les locales ? setlocale(LC_ALL, "").
         cout<<"entrer la forme de la matrice:\n\n";
         cin>>n; 
         int **a=new int*[n];
         for (int i=0;i<n; i++)
                  if((a[i]=new int [n]) == NULL)
                  {
                               cout<<"il n y a pas de memoire!\n";
                               exit(1);            
                  }
    // Il  est inutile de tester la valeur renvoyée par new. Si le new échoue, il jette une exception.
         cout<<"debut de la matrice:\n\n";
         for(int i=0;i<n;i++)
         {
                 for (int j=0; j<n; j++)
                 {
                     a[i][j]=1;
                     cout.width(3);
                     cout<<a[i][j];
                 }
                 cout<<"\n\n";
         }
         puts("taper une touche pour quitter");
    // Pourquoi pas cout << "taper une touche pour quitter"; ?
         getch ();
    // cin << ch; ?
    }
    mais ce programme n affiche que les 1...
    Tu ne lui as rien demandé d'autre...

    par contre je cherche un programme qui me permettrais de faire entrer des nombres et de montrer combien de zero y en a...
    Pour remplir ton tableau je te laisse chercher.
    Pour compter le nombre de zéros tu utilises le code de 3DArchi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::count(tab, tab+i,0);
    où tab est le tableau et i le nombre d'élément du tableau. Il faut un #include <algorithm>.

    Exemple : pour afficher le nombre de zéros de la ligne i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::count(a[i], a[i]+n, 0);
    Pour le total std::accumulate.

  6. #6
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 80
    Par défaut
    salut,

    tu si tu traites avec des entiers, et pas des flottants, tu peux juste faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int count = 0 ; // le nombre de zero
    for (int i = 0 ; i < n ; ++i)
    {
        for (int j = 0 ; j < n ; ++j)
        {
            if (a[i][j] == 0)
                count++ ; // incrémentation
        }
    }
    cout << "nombre de zéro dans la matrice = " << count << endl ;
    si tu traites de flottants, il peut être mieux de décider d'un seuil à partir duquel tu considères qu'un nombre est nul, par exemple eps = 1.e-7 et au lieu de
    "a[i][j] == 0" tu mets "abs(a[i][j]) < eps"

    Pour finir, si tu veux faire du C++ joli, qui utilise la librairie standard et tout, alors fais comme on t'a dit au dessus, et avant, regarde ça : http://www.cplusplus.com/reference/stl/vector/

    Bon courage

Discussions similaires

  1. vba excel compter un nombre de valeurs dans un tableau
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/09/2010, 15h09
  2. Réponses: 7
    Dernier message: 19/09/2009, 00h05
  3. Réponses: 3
    Dernier message: 18/07/2008, 03h16
  4. Compter le nombre d'occurence dans un tableau
    Par titou250 dans le forum Excel
    Réponses: 2
    Dernier message: 08/01/2008, 16h25
  5. Compter le nombre d'élément dans un tableau
    Par cryptorchild dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo