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,923 questions

51,856 answers

573 users

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

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#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++) {
            printf("%4d", matrix[i][j]);
        } 
        printf("\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);
        printf("\nmax in row %d = %d", i, max);
        sum += max;
    }
    
    printf("\n\nsum = %d", sum);
     
    return 0;
}
 
 
 
 
/*
run:
  
   9   8   6  13  28  13
  35   6   3  33  72  49
  51  79  21  37  59  12
  28  67  56  90  49   1
   4   5  15  99  16  20

max in row 0 = 28
max in row 1 = 72
max in row 2 = 79
max in row 3 = 90
max in row 4 = 99

sum = 368
  
*/

 



answered Nov 12, 2023 by avibootz

Related questions

...