Advertisement
Denny707

marco

Jul 11th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.94 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. //prototipo della funzione:
  7. int sommaPerimetro(int n, int x);
  8. float matrice[10][10];
  9.  
  10. int main(int argc, const char * argv[]) {
  11.     //Dichiarazione dati:
  12.     int n=5;      //numero righe
  13.     //non ho ben capito quanto vale X..
  14.     int x=10;     //numero colonne
  15.  
  16.     do{
  17.         cout<<"Inserisci il numero di righe(n)"<<endl;
  18.         cin>>n;
  19.     }while(n>10 || n<0); //se il numero non è compreso fra 0 e 10, richiedilo in input
  20.    
  21.      for(int i=0;i<n;i++){
  22.          for(int j=0;j<x;j++){
  23.             cout<<"Inserisci elemento matrice ["<<i<<"]["<<j<<"]\t";
  24.             cin>>matrice[i][j];
  25.          }
  26.      }
  27.  
  28.     //Fase 4:
  29.     cout<<"La somma del perimetro è : "<<sommaPerimetro(n,x)<<endl;
  30.    
  31.     //Se si compila su Windows, decommentare riga sotto:
  32.     //system("PAUSE");
  33.     return 0;
  34. }
  35. int sommaPerimetro(int n, int x){
  36.    
  37.     //Il perimetro di una matrice è costituito dalla
  38.     //somma della prima riga + la somma dell'ultima riga
  39.     //+ la somma del primo e dell'ultimo elemento delle altre righe
  40.    
  41.     /** Definizione dell'algoritmo
  42.      *  Fase 1: somma prima riga
  43.      *  Fase 2: somma primo e ultimo elemento di OGNI righa != da 1° e N°
  44.      *  Fase 3: somma ultima riga
  45.      *  Fase 4: output somma
  46.      */
  47.     int somma=0;
  48.    
  49.     //Fase 1:
  50.     for(int i=0;i<x;i++){
  51.         somma=somma+matrice[0][i];
  52.     }
  53.    
  54.     //Fase 2:
  55.     for(int i=1;i<n-1;i++){ //nota i=1 e n-1, parto dalla seconda riga e arrivo alla penultima
  56.         int primo_elemento=matrice[i][0];
  57.         int ultimo_elemento=matrice[i][x-1];
  58.         somma = somma+primo_elemento+ultimo_elemento;
  59.         //Se vuoi fare le cose gas, puoi non usare le due variabili e comprimere il tutto in:
  60.         //somma = somma+matrice[i][0]+matrice[i][m-1];
  61.     }
  62.    
  63.     //Fase 3:
  64.     for(int i=0;i<x;i++){
  65.         somma=somma+matrice[n-1][i];
  66.     }
  67.     return somma;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement