Advertisement
nicb

Ese lab5 (No Thread)

Oct 17th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. /*Il gioco del 15 consiste nel disporre le celle da 1 a 15 per riga in una matrice
  2. 4x4. Avendo a disposizione una sola cella vuota, è possibile spostare solo le
  3. celle adiacianti alla cella vuota, in orizzontale ed in verticale.
  4. Progettare ed implementare un programma che legga da file una
  5. configurazione del gioco e verifichi se rappresenta la soluzione, usando un
  6. contenitore della STL.
  7. Implementare una versione parallella che, usando i thread, consenta di
  8. verificare più file contemporaneamente.*/
  9.  
  10.  
  11. #include <iostream>
  12. #include <fstream>
  13. using namespace std;
  14.  
  15. bool verifica(int matrice[][4], const int n)
  16. {
  17.     bool risultato= true;
  18.     for(int i=0; i<n; i++)
  19.     {
  20.         for(int j=0; j<n; j++)
  21.             if(matrice[i][j]!=(i*n+j+1)&&(i*n+j)!=(n*n)-1)
  22.                 risultato=false;
  23.  
  24.     }
  25.     return risultato;
  26. }
  27.  
  28.  
  29. int main()
  30. {
  31.     fstream problema;
  32.     problema.open("problema.txt", ios::in);
  33.     char appoggio[3];
  34.     int matrice [4][4];
  35.     const int n=4;
  36.     for(int i=0; i<n; i++)
  37.     {
  38.         for(int j=0; j<n; j++)
  39.             {
  40.                 problema>>appoggio;
  41.                 matrice[i][j]=atoi(appoggio);
  42.             }
  43.     }
  44.     for(int i=0; i<n; i++)
  45.     {
  46.         for(int j=0; j<n; j++)
  47.             cout<<"\t"<<matrice[i][j];
  48.         cout<<endl;
  49.     }
  50.  
  51.     if (verifica(matrice, n))
  52.             cout<<"vero"<<endl;
  53.             else
  54.             cout<<"falso"<<endl;
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement