Advertisement
Emanuele_Bruno

Calcolo media valori diagonale destra matrice

Nov 20th, 2015
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime> // srand
  3. #include <cstdlib> // srand
  4. #include <math.h> // round
  5. #include <iomanip> // setprecision
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     int righe,colonne,elementi,i=0,j=0,media=0,k; //i -> righe, j -> colonne, k -> altezza lato della tangente
  12.     double tangente; //qui verrΓ  memorizzata la tangente dell'angolo beta o gamma
  13.     cout << "Digitare la grandezza della matrice ed il numero degli elementi\n";
  14.     cout << "Righe :";
  15.     cin >> righe;
  16.     cout << "Colonne :";
  17.     cin >> colonne;
  18.     cout << "Numero di elementi :";
  19.     cin >> elementi;
  20.     int matrice[righe][colonne];
  21.     srand(time(0));
  22.     while (i<righe)
  23.     {
  24.         j=0;
  25.         while (j<colonne)
  26.         {
  27.             matrice[i][j]=rand()%elementi;
  28.             cout << matrice[i][j] << " ";
  29.             j++;
  30.         }
  31.         cout << "\n";
  32.         i++;
  33.     }
  34.  
  35.     i=0; // 'i' adesso viene usato come contatore e 'j' come variabile temporanea;
  36.  
  37.     if (righe<colonne)
  38.     {
  39.         tangente=double(righe)/colonne; // tangente di gamma
  40.         j=colonne;
  41.         while (i<j)
  42.         {
  43.             k=round((j-i)*tangente)-1;
  44.             media+=matrice[k][i];
  45.             cout << "matrice[" << k << "][" << i << "]=" << matrice[k][i] << "\n";
  46.             i++;
  47.         }
  48.  
  49.     } else
  50.     {
  51.         tangente=double(colonne)/righe; // tangente di beta
  52.         j=righe;
  53.         while (i<j)
  54.         {
  55.             k=round((j-i)*tangente)-1;
  56.             media+=matrice[i][k];
  57.             cout << "matrice[" << i << "][" << k << "]=" << matrice[i][k] << "\n";
  58.             i++;
  59.         }
  60.     }
  61.     cout << "La media dei valori della diagonale destra della matrice e': " << setprecision(3) << double(media)/i;
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement