Remplir un tableau à deux dimensions

Fermé
wella_salwa Messages postés 15 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 30 mars 2024 - Modifié le 18 nov. 2022 à 16:11
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 18 nov. 2022 à 16:21

Bonjour,

Dans mon code j'ai deux fonctions avancer et reculer et un tableau q[100][2].

  • Je veux que la fonction avancer remplisse la première colonne de q.
  • Je veux que la fonction reculer remplisse la seconde colonne de q.

Comment procéder en C++?

A voir également:

3 réponses

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
1 nov. 2022 à 12:31

Bonjour,

Donc avancer va agir sur les q[i][0] et reculer va agir sur les q[i][1]. Je ne sais pas ce que tu appelles "remplir"?

Et en C++, on évites d'utiliser les tableaux du C. Un tableau à 2 dimensions, je l'aurais vu ici plutôt sous la forme:

std::array<std::vector<int>,2>  q;

avec peut-être une fonction avancer qui ajouterait un élément de plus à q[0]

void  avancer( int nb ) {
    q[0].push_back( nb );
}
1
wella_salwa Messages postés 15 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 30 mars 2024
Modifié le 18 nov. 2022 à 16:14

Salut Dalfab , 

j'ai à l'intérieur une équation pour calculer q , j'ai essayé cette méthode , je sais pas si ca fonctionne : 

void main () {
    if (a < b) { 
        avancer(i);
        qavancer(i, r); 
    } else {
        reculer(i) ;
        qreculer(i, r);
    }
}

void qavancer(int q[100][2], int r) {
    q[i][0] = r + 1;
}

void qreculer(int q[100][2] , int r) {
    q[i][1] = r - 1;
}
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
18 nov. 2022 à 16:21

i n'est pas défini dans ton code. 

0
PierrotLeFou
2 nov. 2022 à 01:48

La structure pourrait être:
    std::array<std::array<int, 2>, 100> Q;
Ensuite pourquoi ne pas passer la valeur exacte aux fonctions: r+1 ou r-1 ?
Tu pourrais n'avoir qu'une seule fonction avec l'indice en paramêtre.
Faire un enum avec "avancer=0" et "reculer=1"
Et peut-être pas de fonction du tout? Une simple boucle?

0