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 :

problème pour faire une matrice c++


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 6
    Points : 5
    Points
    5
    Par défaut problème pour faire une matrice c++
    Salut a tous !
    je suis débutant en c++ . J'arrive a créer une matrice rempli de 0 et je voudrais ecrire un 1 une case sur 3 et je ne vois pas du tout comment faire !
    merci d'avance de votre aide

    voici mon code:
    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
     
    void affichePlateau()
    {
        char carte[21][21];
     
        char leB='0';
     
        for (int i = 0; i < 21; i++)
            for (int j = 0; j < 21; j++)
                carte[i][j] = leB;
     
        for (int i = 0; i < 21; ++i) {
            for (int j = 0; j < 21; ++j){
     
     
     
                std::cout<< carte[i][j];
     
            }
            std::cout<<std::endl;
        }
     
     
    }

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    une case sur trois ça veut dire à la colonne 2, 5, 8, 11, 14, 17, 20. Donc c'est une suite arithmétique de raison 3 qui commence à 2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (int h = 0; h < 21; ++h)
      for (int i = 2; i < 21; i+=3)
        mat[h][i] = 1;

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 631
    Points : 10 559
    Points
    10 559
    Par défaut
    La solution de stendhal666 t'oblige à parcourir 2 fois ta matrice (mais pas complétement pour la deuxième)

    1) Sinon simplement avec l'opérateur ternaire et le modulo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       for (int i = 0; i < 21; i++)
            for (int j = 0; j < 21; j++)
                carte[i][j] = (((j + 1) % 3) != 0)? '0': '1');
    2) En version "XXX" (<- je ne sais plus le terme ), mais il faut être très sûr
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       for (int i = 0; i < 21; i++) {
            for (int j = 0; j < 21; j += 3) {
                carte[i][j]     = '0';
                carte[i][j + 1] = '0';
                carte[i][j + 2] = '1';
            }
       }

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    @foetus: ce n'est pas faux mais rien ne disait dans la question que c'était lors de l'initialisation qu'il fallait mettre une case sur trois à 1. En tout cas ma proposition à moi n'était pas interdite au moins de 18 ans

    L'opérateur ternaire c'est stylé mais pas très extensible. S'il y a un troisième choix ça devient XXX également...

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 631
    Points : 10 559
    Points
    10 559
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    L'opérateur ternaire c'est stylé mais pas très extensible. S'il y a un troisième choix ça devient XXX également...
    Bof

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((((j % 5) == 0) && ((j % 3) == 0))? "fizz buzz": (((j % 5) == 0)? "buzz": (((j % 3) == 0)? "fizz": "0")))

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Oui et bien moi, je ne laisse pas mon fils regarder ça...

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 6
    Points : 5
    Points
    5
    Par défaut merci !
    merci pour vos solution j'ai opter pour celle avec le modulo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour faire une copie de fichier.
    Par damien99 dans le forum C++
    Réponses: 1
    Dernier message: 12/02/2006, 16h37
  2. Réponses: 4
    Dernier message: 09/02/2006, 15h20
  3. probléme pour faire une copie de base de donnée
    Par nours33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 31/12/2005, 12h35
  4. problème pour faire une requête
    Par mitchbuck dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/11/2005, 22h48
  5. Réponses: 5
    Dernier message: 24/09/2005, 20h31

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