Ominide 1505 punti
Questo appunto contiene un allegato
Sostituzione valore diagonale secondaria scaricato 0 volte

C++ - Sostituzione di un valore della diagonale secondaria (matrice)

// Sostituzione di un valore della diagonale secondaria (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 sostituzione(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 sostituzione(int m[massimo][massimo], int nr, int nc)
{
int x;
int y;
cout<<"Inserisci il numero di riga/colonna: ";
cin>>x;
while (x>nr || x>nc || x<0 || x<0)
{
cout<<"Errore. Inserisci il numero di riga/colonna: ";
cin>>x;
}
cout<<"Inserisci il nuovo valore: ";
cin>>y;
m[x][x]=y;
}
// ----- /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;

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

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

Registrati via email