91 lines
2.5 KiB
C++
91 lines
2.5 KiB
C++
//Cristian Ronzoni 3Ain
|
|
#include <iostream>
|
|
#include <cstdlib>
|
|
#include <ctime>
|
|
using namespace std;
|
|
|
|
#define DIM 5 // Dimensione della matrice
|
|
|
|
// Funzione per generare una matrice casuale
|
|
void riempiMatrice(int matrice[DIM][DIM]) {
|
|
srand(time(0)); // Inizializza il generatore di numeri casuali
|
|
for (int i = 0; i < DIM; ++i) {
|
|
for (int j = 0; j < DIM; ++j) {
|
|
matrice[i][j] = rand() % 10 + 1; // Numeri casuali tra 1 e 10
|
|
}
|
|
}
|
|
}
|
|
|
|
// Funzione per stampare la matrice
|
|
void stampaMatrice(int matrice[DIM][DIM]) {
|
|
for (int i = 0; i < DIM; ++i) {
|
|
for (int j = 0; j < DIM; ++j) {
|
|
cout << matrice[i][j] << " ";
|
|
}
|
|
cout << endl;
|
|
}
|
|
}
|
|
|
|
// Funzione per calcolare la somma di una riga
|
|
int sommaRiga(int matrice[DIM][DIM], int riga) {
|
|
int somma = 0;
|
|
for (int j = 0; j < DIM; ++j) {
|
|
somma += matrice[riga][j];
|
|
}
|
|
return somma;
|
|
}
|
|
|
|
// Funzione per calcolare la somma di una colonna
|
|
int sommaColonna(int matrice[DIM][DIM], int colonna) {
|
|
int somma = 0;
|
|
for (int i = 0; i < DIM; ++i) {
|
|
somma += matrice[i][colonna];
|
|
}
|
|
return somma;
|
|
}
|
|
|
|
// Funzione per calcolare la somma della diagonale principale
|
|
int sommaDiagonalePrincipale(int matrice[DIM][DIM]) {
|
|
int somma = 0;
|
|
for (int i = 0; i < DIM; ++i) {
|
|
somma += matrice[i][i];
|
|
}
|
|
return somma;
|
|
}
|
|
|
|
// Funzione per calcolare la somma della diagonale secondaria
|
|
int sommaDiagonaleSecondaria(int matrice[DIM][DIM]) {
|
|
int somma = 0;
|
|
for (int i = 0; i < DIM; ++i) {
|
|
somma += matrice[i][DIM - 1 - i];
|
|
}
|
|
return somma;
|
|
}
|
|
|
|
int main() {
|
|
int matrice[DIM][DIM];
|
|
|
|
// Genera la matrice casuale
|
|
riempiMatrice(matrice);
|
|
|
|
// Stampa la matrice
|
|
cout << "Matrice generata:" << endl;
|
|
stampaMatrice(matrice);
|
|
|
|
// Calcola e stampa le somme
|
|
int riga, colonna;
|
|
cout << "Inserisci il numero della riga (0 a " << DIM-1 << "): ";
|
|
cin >> riga;
|
|
cout << "Somma della riga " << riga << ": " << sommaRiga(matrice, riga) << endl;
|
|
|
|
cout << "Inserisci il numero della colonna (0 a " << DIM-1 << "): ";
|
|
cin >> colonna;
|
|
cout << "Somma della colonna " << colonna << ": " << sommaColonna(matrice, colonna) << endl;
|
|
|
|
cout << "Somma della diagonale principale: " << sommaDiagonalePrincipale(matrice) << endl;
|
|
cout << "Somma della diagonale secondaria: " << sommaDiagonaleSecondaria(matrice) << endl;
|
|
|
|
return 0;
|
|
}
|
|
|