Advertisement
Emanuele_Bruno

Ricerca di almeno 2 valori uguali nella matrice

Nov 23rd, 2015
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime> // srand
  3. #include <cstdlib> // srand
  4. #include <iomanip> // setw
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     int righe,colonne,elementi,i=0,j=0,x,l,m;
  11.     bool trovato=false;
  12.     //i,j contatori ; x valore cercato; l,m coordinate matrice confronto
  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.  
  23.     // inizializzo matrice
  24.  
  25.     while (i<righe)
  26.     {
  27.         j=0;
  28.         while (j<colonne)
  29.         {
  30.             matrice[i][j]=rand()%elementi;
  31.             cout << setw(3) << matrice[i][j] << " ";
  32.             j++;
  33.         }
  34.         cout << "\n";
  35.         i++;
  36.     }
  37.  
  38.     // inizio ricerca
  39.     i=0;m=0;
  40.  
  41.     while (i<righe)
  42.     {
  43.         j=0;
  44.         while (j<colonne)
  45.         {
  46.             x=matrice[i][j];
  47.             if (j+1<colonne)
  48.             {
  49.                 l=i;
  50.                 m=j+1;
  51.             }
  52.             else if (i+1<righe)
  53.             {
  54.                 l=i+1;
  55.                 m=0;
  56.             }
  57.             while (l<righe)
  58.             {
  59.                 if (l!=i) m=0;
  60.                 while (m<colonne)
  61.                 {
  62.                     if (matrice[l][m]==x)
  63.                     {
  64.                         cout << x << " e' un valore ripetuto.\n" ;
  65.                         i=l=righe;
  66.                         j=m=colonne;
  67.                         trovato=true;
  68.                     }
  69.                 m++;
  70.                 }
  71.             l++;
  72.             }
  73.             j++;
  74.         }
  75.         i++;
  76.     }
  77.     if (trovato==false) cout << "Spiacente, non e' stato trovato il numero ripetuto\n";
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement