84 lines
2.4 KiB
C++
84 lines
2.4 KiB
C++
// Cristian Ronzoni 3Ain
|
|
/* Funzione che in una matrice
|
|
trova la riga o la colonna con somma più alta */
|
|
#include <iostream>
|
|
#include <iomanip>
|
|
#include <cstdlib>
|
|
#include <ctime>
|
|
#define NUM 7
|
|
using namespace std;
|
|
|
|
// Dichiarazione delle funzioni
|
|
void riempi(int arr[NUM][NUM]);
|
|
void stampa(int arr[NUM][NUM]);
|
|
void sommaRigaColonna(int arr[NUM][NUM]);
|
|
|
|
int main(void) {
|
|
int bobby[NUM][NUM];
|
|
|
|
srand(time(0)); // Inizializza il generatore di numeri casuali
|
|
riempi(bobby); // Riempie la matrice con numeri casuali
|
|
stampa(bobby); // Stampa la matrice
|
|
sommaRigaColonna(bobby); // Trova la riga e la colonna con la somma più alta
|
|
|
|
return 0;
|
|
}
|
|
|
|
// Funzione per riempire la matrice con numeri casuali
|
|
void riempi(int arr[NUM][NUM]) {
|
|
for (size_t i = 0; i < NUM; ++i) {
|
|
for (size_t j = 0; j < NUM; ++j) {
|
|
arr[i][j] = rand() % 50; // Numeri casuali tra 0 e 49
|
|
}
|
|
}
|
|
}
|
|
|
|
// Funzione per stampare la matrice
|
|
void stampa(int arr[NUM][NUM]) {
|
|
cout << "Matrice generata:\n";
|
|
for (size_t i = 0; i < NUM; ++i) {
|
|
for (size_t j = 0; j < NUM; ++j) {
|
|
cout << setw(3) << arr[i][j] << " ";
|
|
}
|
|
cout << endl;
|
|
}
|
|
cout << endl;
|
|
}
|
|
|
|
// Funzione per trovare la riga e la colonna con somma più alta
|
|
void sommaRigaColonna(int arr[NUM][NUM]) {
|
|
int maxSommaRiga = 0, maxSommaColonna = 0;
|
|
int rigaMax = -1, colonnaMax = -1;
|
|
|
|
// Calcolo della somma delle righe
|
|
for (size_t i = 0; i < NUM; ++i) {
|
|
int sommaRiga = 0;
|
|
for (size_t j = 0; j < NUM; ++j) {
|
|
sommaRiga += arr[i][j];
|
|
}
|
|
if (sommaRiga > maxSommaRiga) {
|
|
maxSommaRiga = sommaRiga;
|
|
rigaMax = i;
|
|
}
|
|
}
|
|
|
|
// Calcolo della somma delle colonne
|
|
for (size_t j = 0; j < NUM; ++j) {
|
|
int sommaColonna = 0;
|
|
for (size_t i = 0; i < NUM; ++i) {
|
|
sommaColonna += arr[i][j];
|
|
}
|
|
if (sommaColonna > maxSommaColonna) {
|
|
maxSommaColonna = sommaColonna;
|
|
colonnaMax = j;
|
|
}
|
|
}
|
|
|
|
// Stampa dei risultati
|
|
cout << "La riga con somma più alta è la riga " << rigaMax + 1
|
|
<< " con somma: " << maxSommaRiga << endl;
|
|
cout << "La colonna con somma più alta è la colonna " << colonnaMax + 1
|
|
<< " con somma: " << maxSommaColonna << endl;
|
|
}
|
|
|