Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,922 questions

51,855 answers

573 users

How to sum all the largest elements of each row in a matrix with C++

1 Answer

0 votes
#include <iostream>
#include <iomanip>
#include <ctime>
  
#define ROWS 5
#define COLS 6
 
void printMatrix(int matrix[][COLS]) {
    for (int i = 0; i < ROWS; i++) {  
        for (int j = 0; j < COLS; j++) {
            std::cout << std::setw(3) << matrix[i][j] << " ";
        } 
        std::cout << "\n";
    }
}
   
int generateRandomInteger(int min, int max) {
    return min + rand() / (RAND_MAX / (max - min + 1) + 1);
    // return rand() % (max - min + 1) + min;
}
       
void generateRandomMatrix(int matrix[][COLS]) {
    srand(time(NULL));
      
    for (int i = 0; i < ROWS; i++) {     
        for (int j = 0; j < COLS; j++) {
            matrix[i][j] = generateRandomInteger(1, 100);
        }
    }
}

int getMaxInRow(int matrix[][COLS], int row) {
    int max = matrix[0][0];
     
    for (int j = 0; j < COLS; j++) {
        if (matrix[row][j] > max) {
            max = matrix[row][j];
        }
    }
     
    return max;
}
 
int main() {
    int matrix[ROWS][COLS] = {{ 0 }};
      
    generateRandomMatrix(matrix);
         
    printMatrix(matrix);
    
    int sum = 0;
    for (int i = 0; i < ROWS; i++) {
        int max = getMaxInRow(matrix, i);
        std::cout << "\nmax in row = " << i << " = " << max;
        sum += max;
    }
     
    std::cout << "\n\nsum = " << sum;
}
  
  
  
  
/*
run:
   
 71  73  77  81   5  45 
  3  23  28  89  10  36 
 51  42  58  87  68  70 
 31  21  65  74  41  52 
 23  31  61  81  42  97 

max in row = 0 = 81
max in row = 1 = 89
max in row = 2 = 87
max in row = 3 = 74
max in row = 4 = 97

sum = 428
   
*/

 



answered Nov 13, 2023 by avibootz

Related questions

...