Nintendo-city
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Retrouvez l'univers nintendo sous toutes ses faces !!
 
AccueilPortailDernières imagesS'enregistrerConnexion
Le Deal du moment :
Jeux, jouets et Lego : le deuxième à ...
Voir le deal

 

 TP Exercice 5 - Les N premiers entiers en sous-programme

Aller en bas 
AuteurMessage
Sorell
Stratège
Sorell


Masculin
Nombre de messages : 521
Localisation : Quel part où le sang coule.
Date d'inscription : 01/05/2008

Feuille de personnage
Surnom dans la team: Sénéchal Noir
Victoire/défaite:
TP Exercice 5 - Les N premiers entiers en sous-programme Left_bar_bleue0/0TP Exercice 5 - Les N premiers entiers en sous-programme Empty_bar_bleue  (0/0)

TP Exercice 5 - Les N premiers entiers en sous-programme Empty
MessageSujet: TP Exercice 5 - Les N premiers entiers en sous-programme   TP Exercice 5 - Les N premiers entiers en sous-programme Icon_minitimeLun 26 Nov - 16:57

Code:

/**
 *
 * @file  SP_NPremiersEntiers.cxx
 *
 * @author D. Mathieu
 *
 * @date  07/12/2011
 *
**/
#include <iostream>
#include <iomanip>      // setw()
#include <string>

using namespace std;

namespace
{
    void Bonjour            (void);
    void _10PremiersEntiers  (void);
    void _200PremiersEntiers (void);
    void NPremiersEntiers    (void);

    unsigned SaisirEntierPositif (string Invite, string MsgErr)
    {
        unsigned N;

        for ( ; ; )
        {
            cout << Invite;
            cin >> N;
            if (N > 0) break;
            cout <<  MsgErr << endl;
        }
        return N;

    } // SaisirEntiePositif()

    void AffichTabInt (unsigned Tableau [],
                      unsigned NbElem,
                      unsigned NbParLigne,
                      unsigned Width,
                      char    Separateur)
    {
        // Affichage du tableau

        unsigned RgFirstElem = 0;
        unsigned NbLignesCompletes =  NbElem / NbParLigne;

        // Affichage de toutes les lignes complètes
       
        for (unsigned NbLignes = 0;
            NbLignes < NbLignesCompletes;
            NbLignes = NbLignes + 1)
        {
            cout << setw (Width) <<Tableau [RgFirstElem];

            // Affichage d'une ligne (forcément complète)

            for (unsigned RgElem = RgFirstElem + 1;
                RgElem < RgFirstElem + NbParLigne;
                RgElem = RgElem + 1)
            {
                cout << Separateur << setw (Width) << Tableau [RgElem];
               
            }
            cout << endl;
            RgFirstElem = RgFirstElem + NbParLigne;
        }
   
        // Affichage de la dernière ligne SI ELLE EST INCOMPLETE

        if (RgFirstElem < NbElem)
        {
            for (unsigned RgElem = RgFirstElem;
                RgElem < NbElem - 1;
                RgElem = RgElem + 1)
            {
                cout << setw (Width) <<Tableau [RgElem] << Separateur;
            }
            // Affichage du dernier nombre de la dernière ligne

            cout << setw (Width) <<Tableau [NbElem - 1] << endl;
        }

    } // AffichTabInt()

    void SP_NPremiersEntiers (void)
    {
        unsigned N = SaisirEntierPositif (
                "Taper le nombre d'entiers voulus,                "
                "puis <entrée> : ",
                "Le nombre doit être POSITIF !!!\n");

        unsigned NbParLigne = SaisirEntierPositif (
                "Taper le nombre de valeurs par ligne,            "
                "puis <entrée> : ",
                "Le nombre doit être POSITIF !!!\n");

        unsigned Largeur = SaisirEntierPositif (
                "Taper la largeur d'affichage,                    "
                "puis <entrée> : ",
                "Le nombre doit être POSITIF !!!\n");

        cout << "Taper le caractère de séparation                "
                "puis <entrée> : ";
        char Separ;
        cin >> Separ;

        unsigned TabInt [N];

        // Génération du tableau

        for (unsigned i = 0; i < N; i = i + 1)
        {
            TabInt [i] = i;
        }
        //  Affichage du tableau

        cout << "Les " << N << " premiers entiers naturels à "
            << NbParLigne << " par ligne" << endl;

        AffichTabInt (TabInt, N, NbParLigne, Largeur, Separ);

    } // SP_NPremiersEntiers()

} // namespace

int main ()
{
    /* * /  Bonjour();              /* */
    /* * /  _10PremiersEntiers();    /* */
    /* * /  _200PremiersEntiers();  /* */
    /* * /  NPremiersEntiers();      /* */

    /*  */  SP_NPremiersEntiers();  /* */

    return 0;

} // main()

Revenir en haut Aller en bas
 
TP Exercice 5 - Les N premiers entiers en sous-programme
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» TP1 Exercice 2 - Les 10 premiers entiers
» TP1 Exercice 3 - Les 200 premiers entiers
» TP1 Exercice 4 - Les N premiers entiers
» TP2 Exercice 3 - Caractères et entiers
» TP1 Exercice 6 - Choix entre les exercices

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Nintendo-city :: Informatique :: Section C++ :: Corrigés :: TP1-
Sauter vers: