[C++] Des KHEYS chauds dans ce langage ?
- 1
Ça fait 2 jours que je galère sur un exercice.
En gros, grâce à la bibliothèque algorithme, numeric, les itérateurs et l’utilisation de vecteur/matrice, créer un vecteur qui contient la somme de chaque colonne.
Exemple
{1, 2, 3}
+
{4, 2, 2}
+
{2, 2, 3}
=
{7, 6, 8} qui donne ça
Le 12 décembre 2021 à 16:47:34 :
Redéfinie l'operateur +
Je dois utiliser la biblio algo (transform, for_each, fill…)
bizarre de pas vous laisser utiliser des boucles for standards
si il faut absolument utiliser la STL tu devrais pouvoir t'en sortir avec un std::inner_product ou un std::transform.
Genre le std::transform ça donnerait :
std::vector<int> res;
std::transform(mat.begin(), mat.end(), std::back_inserter(res), [](std::vector<int> v) { return std::accumulate(v.begin(), v.end(), 0); });
ça ça doit faire la somme des lignes t'as juste à transposer ta matrice pour faire la somme des colonnes.
Ca reste bien plus simple en faisant juste des boucles for
Le 12 décembre 2021 à 17:11:34 :
bizarre de pas vous laisser utiliser des boucles for standards
si il faut absolument utiliser la STL tu devrais pouvoir t'en sortir avec un std::inner_product ou un std::transform.
Genre le std::transform ça donnerait :std::vector<int> res;
std::transform(mat.begin(), mat.end(), std::back_inserter(res), [](std::vector<int> v) { return std::accumulate(v.begin(), v.end(), 0); });ça ça doit faire la somme des lignes t'as juste à transposer ta matrice pour faire la somme des colonnes.
Ca reste bien plus simple en faisant juste des boucles for
Merci, mais avec ta technique je trouve la somme des lignes? j’aurai pas les mêmes résultats si je transpose de ligne à colonne
En fait pour mon exemple j’ai pas utilisé le meilleur
{0, 0, 0}
+
{4, 2, 2}
+
{2, 2, 3}
=
{6, 4, 5} ça doit faire ça
Le 12 décembre 2021 à 17:28:59 :
Le 12 décembre 2021 à 17:11:34 :
bizarre de pas vous laisser utiliser des boucles for standards
si il faut absolument utiliser la STL tu devrais pouvoir t'en sortir avec un std::inner_product ou un std::transform.
Genre le std::transform ça donnerait :std::vector<int> res;
std::transform(mat.begin(), mat.end(), std::back_inserter(res), [](std::vector<int> v) { return std::accumulate(v.begin(), v.end(), 0); });ça ça doit faire la somme des lignes t'as juste à transposer ta matrice pour faire la somme des colonnes.
Ca reste bien plus simple en faisant juste des boucles forMerci, mais avec ta technique je trouve la somme des lignes? j’aurai pas les mêmes résultats si je transpose de ligne à colonne
En fait pour mon exemple j’ai pas utilisé le meilleur{0, 0, 0}
+
{4, 2, 2}
+
{2, 2, 3}=
{6, 4, 5} ça doit faire ça
tu peux transposer ta matrice avant d'appliquer ma fonction, ce qui te donnera la somme des colonnes
Le 12 décembre 2021 à 17:30:54 :
Le 12 décembre 2021 à 17:28:59 :
Le 12 décembre 2021 à 17:11:34 :
bizarre de pas vous laisser utiliser des boucles for standards
si il faut absolument utiliser la STL tu devrais pouvoir t'en sortir avec un std::inner_product ou un std::transform.
Genre le std::transform ça donnerait :std::vector<int> res;
std::transform(mat.begin(), mat.end(), std::back_inserter(res), [](std::vector<int> v) { return std::accumulate(v.begin(), v.end(), 0); });ça ça doit faire la somme des lignes t'as juste à transposer ta matrice pour faire la somme des colonnes.
Ca reste bien plus simple en faisant juste des boucles forMerci, mais avec ta technique je trouve la somme des lignes? j’aurai pas les mêmes résultats si je transpose de ligne à colonne
En fait pour mon exemple j’ai pas utilisé le meilleur{0, 0, 0}
+
{4, 2, 2}
+
{2, 2, 3}=
{6, 4, 5} ça doit faire çatu peux transposer ta matrice avant d'appliquer ma fonction, ce qui te donnera la somme des colonnes
Ah ok merci , oui excellente idée !!
- 1
Données du topic
- Auteur
- Baptiste_1m55
- Date de création
- 12 décembre 2021 à 16:44:27
- Nb. messages archivés
- 11
- Nb. messages JVC
- 11