Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- //prototipo della funzione:
- int sommaPerimetro(int n, int x);
- float matrice[10][10];
- int main(int argc, const char * argv[]) {
- //Dichiarazione dati:
- int n=5; //numero righe
- //non ho ben capito quanto vale X..
- int x=10; //numero colonne
- do{
- cout<<"Inserisci il numero di righe(n)"<<endl;
- cin>>n;
- }while(n>10 || n<0); //se il numero non è compreso fra 0 e 10, richiedilo in input
- for(int i=0;i<n;i++){
- for(int j=0;j<x;j++){
- cout<<"Inserisci elemento matrice ["<<i<<"]["<<j<<"]\t";
- cin>>matrice[i][j];
- }
- }
- //Fase 4:
- cout<<"La somma del perimetro è : "<<sommaPerimetro(n,x)<<endl;
- //Se si compila su Windows, decommentare riga sotto:
- //system("PAUSE");
- return 0;
- }
- int sommaPerimetro(int n, int x){
- //Il perimetro di una matrice è costituito dalla
- //somma della prima riga + la somma dell'ultima riga
- //+ la somma del primo e dell'ultimo elemento delle altre righe
- /** Definizione dell'algoritmo
- * Fase 1: somma prima riga
- * Fase 2: somma primo e ultimo elemento di OGNI righa != da 1° e N°
- * Fase 3: somma ultima riga
- * Fase 4: output somma
- */
- int somma=0;
- //Fase 1:
- for(int i=0;i<x;i++){
- somma=somma+matrice[0][i];
- }
- //Fase 2:
- for(int i=1;i<n-1;i++){ //nota i=1 e n-1, parto dalla seconda riga e arrivo alla penultima
- int primo_elemento=matrice[i][0];
- int ultimo_elemento=matrice[i][x-1];
- somma = somma+primo_elemento+ultimo_elemento;
- //Se vuoi fare le cose gas, puoi non usare le due variabili e comprimere il tutto in:
- //somma = somma+matrice[i][0]+matrice[i][m-1];
- }
- //Fase 3:
- for(int i=0;i<x;i++){
- somma=somma+matrice[n-1][i];
- }
- return somma;
- }
Advertisement
Add Comment
Please, Sign In to add comment