Advertisement
Gilgamesh858

riga_Matrice_Minore_Valori_Medi

Nov 28th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     /* Data una matrice A 7x10 float restituire l'indice di una riga il cui elemento massimo e'
  10.      * strettamente minore dei valori medi della riga sovrastante e di quella sottostante o
  11.      * restituisca il valore -1 se tale riga non esiste. Non usare array ausiliari.
  12.      *
  13.      * Ideato e Prodotto da Ludovico Trupia
  14.      */
  15.  
  16.     srand(time(NULL));
  17.  
  18.     const int N = 7, M = 10;
  19.     float a[N][M], media_S = 0.0, media_I = 0.0;
  20.     int max = 0;
  21.     bool niente = true;
  22.  
  23.     cout << endl;
  24.     for( int i = 0; i < N; i++)
  25.     {
  26.         cout << "\t" << i << " | ";
  27.         for( int j = 0; j < M; j++)
  28.         {
  29.             a[i][j] = rand() % 20 + 1;
  30.  
  31.             cout << a[i][j];
  32.             if( a[i][j] >= 10.0 ) cout << " ";
  33.             else cout << "  ";
  34.         }
  35.  
  36.         cout << "|" << endl;
  37.     }
  38.     cout << endl << endl;
  39.  
  40.     for( int i = 1; i < N-1; i++ )
  41.     {
  42.         max = a[i][0];
  43.  
  44.         for( int j = 0; j < M; j++ ) //Determino il valore massimo
  45.         {
  46.             if( max < a[i][j] ) max = a[i][j];
  47.         }
  48.  
  49.         for( int j = 0; j < M; j++ ) //Calcolo della media Superiore e Inferiore
  50.         {
  51.             media_S += a[i-1][j];
  52.             media_I += a[i+1][j];
  53.         }
  54.  
  55.         media_S = media_S / (float)M;
  56.         media_I = media_I / (float)M;
  57.  
  58.         cout << endl << " Riga N. " << i << " || Max -> " << max << " || Media_Sup -> " << media_S << " || Media_Inf -> " << media_I << endl;
  59.  
  60.         if( max < media_S && max < media_I )
  61.         {
  62.             cout << endl << "//////// Riga N. " << i << " || Max -> " << max << " || Media_Sup -> " << media_S << " || Media_Inf -> " << media_I << endl;
  63.         }
  64.     }
  65.  
  66.     if( niente )
  67.     {
  68.         cout << endl << "-1" << endl << endl;
  69.     }
  70.  
  71.     return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement