Ominide 1505 punti
Questo appunto contiene un allegato
Addizionare agli elementi della diagonale secondaria un valore "x" scaricato 0 volte

C++ - Addizionare agli elementi della diagonale secondaria un valore "x"

// Addizionare ai valori della diagonale secondaria un numero "x" (matrice)

#include <iostream>
using namespace std;

// ----- VARIABILI GLOBALI ----- //
const int massimo=100;
// ----- /VARIABILI GLOBALI ----- //

// ----- PROTOTIPI ----- //
int dimensione();
void caricamento_matrice(int [massimo][massimo], int, int);
void stampa_matrice(int [massimo][massimo], int, int);
void addizione(int [massimo][massimo], int, int);
// ----- /PROTOTIPI ----- //

// ----- FUNZIONI ----- //
int dimensione()
{
int n;
cout<<"Inserisci il numero di righe e colonne: ";
cin>>n;
while (n>massimo)
{
cout<<"Errore. Inserisci il numero di righe: ";

cin>>n;
}

return n;
}

void caricamento_matrice(int m[massimo][massimo], int nr, int nc)
{
for (int i=0; i<nr; i++)
{
for (int j=0; j<nc; j++)
{
cout<<"Inserisci l'elemento della riga numero "<<i<<" e colonna numero "<<j<<": ";
cin>>m[j];
}
}
}

void stampa_matrice(int m[massimo][massimo], int nr, int nc)
{
for (int i=0; i<nr; i++)
{
for (int j=0; j<nc; j++)
{
cout<<m[j]<<"\t";
}
cout<<endl;
}
}

void addizione(int m[massimo][massimo], int nr, int nc)
{
int x;
cout<<"Inserisci il valore da addizionare: ";
cin>>x;
for (int i=0; i<nr; i++)
{
for (int j=0; j<nc; j++)
{
if (i+j==nr-1)
{
m[j]=m[j]+x;
}
}
}
}
// ----- /FUNZIONI ----- //

// ----- PROGRAMMA PRINCIPALE ----- //
int main()
{
int matrice[massimo][massimo];
int righe=dimensione();
int colonne=righe;
cout<<endl;
caricamento_matrice(matrice, righe, colonne);
cout<<endl<<"Matrice caricata: "<<endl;
stampa_matrice(matrice, righe, colonne);
cout<<endl;
addizione(matrice, righe, colonne);

cout<<endl<<"Risultato: "<<endl;
stampa_matrice(matrice, righe, colonne);

return 0;
}
// ----- /PROGRAMMA PRINCIPALE ----- //

Registrati via email