Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- int somme_consecutifs_max(vector<int> vect);
- vector<size_t> lignes_max(vector<vector<int>> matrice);
- vector<vector<int>> tranches_max(vector<vector<int>> matrice);
- int main()
- {
- vector<vector<int>> matrice{{0},{0},{0},{0}/* emplacements à valeurs de base */};
- for (size_t i = 0 ; i < matrice.size() ; i++) { //affichage de la matrice de base
- for (size_t k = 0 ; k < matrice[i].size() ; k++) {
- cout << matrice[i][k] << " ";
- }
- cout << endl;
- }
- cout << endl;
- vector<vector<int>> resultat (tranches_max(matrice));
- for (size_t i = 0 ; i < resultat.size() ; i++) { //affichage de la matrice de fin
- for (size_t k = 0 ; k < resultat[i].size() ; k++) {
- cout << resultat[i][k] << " ";
- }
- cout << endl;
- }
- }
- int somme_consecutifs_max(vector<int> vect)
- {
- int somme = 0;
- int max = 0;
- for (size_t i = 0; i < vect.size(); i++) { //calcul des maximums consecutifs
- if (vect[i] != 0) {
- somme += vect[i];
- }
- else {
- if (somme > max) {
- max = somme;
- }
- somme = 0;
- }
- }
- if (somme > max ) {
- max = somme;
- }
- return max;
- }
- vector<size_t> lignes_max(vector<vector<int>> matrice)
- {
- vector<int> sommes(4);
- int max = 0;
- for (size_t i = 0 ; i < matrice.size() ; i++) { //calcul de la valeur de la ligne max
- sommes[i] = somme_consecutifs_max(matrice[i]);
- if (max < sommes[i]) {
- max = sommes[i];
- }
- }
- vector<size_t> lignes_max;
- for (size_t i = 0 ; i < matrice.size() ; i++) //assignation du numéro des lignes max
- {
- if(sommes[i] == max) {
- lignes_max.push_back(i);
- }
- }
- return lignes_max;
- }
- vector<vector<int>> tranches_max(vector<vector<int>> matrice)
- {
- vector<size_t> numero_ligne(lignes_max(matrice));
- vector<vector<int>> resultat;
- for (size_t i = 0 ; i < numero_ligne.size() ; i++ ) { //mises en place des lignes max sur la matrice de fin
- resultat.push_back(matrice[numero_ligne[i]]);
- }
- return resultat;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement