Advertisement
Five_NT

[C++]e_info_intensiv V100_SII_P5

Nov 11th, 2013
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. /*Scrieti un program C/C++ care citeste de la tastatura un numar natural n (1.n.100) si apoi
  2. elementele unui tablou bidimensional cu n linii si n coloane, care memoreaza numere
  3. naturale cu cel mult 9 cifre fiecare; programul afiseaza pe ecran acele valori din tablou care
  4. sunt strict mai mici decat toate elementele cu care se invecineaza direct (aflate pe aceeasi
  5. linie dar pe o coloana alaturata sau pe aceeasi coloana dar pe o linie alaturata), ca in
  6. exemplu. Numerele afisate vor fi separate prin cate un spatiu.
  7. 5.
  8. Exemplu: pentru n=4 si tabloul alaturat se afiseaza numerele: 2 0 (2 se
  9. invecineaza direct cu 4, 3, 6 si 9, .i este mai mic decat acestea, iar 0 se
  10. invecineaza direct cu 6, 9 si 1 .i este mai mic decat acestea). (10p.)
  11. 5 4 7 9
  12. 6 2 3 4
  13. 0 9 8 5
  14. 1 3 8 6
  15. */
  16. #include<iostream>
  17. #include<fstream>
  18.  
  19. using namespace std;
  20.  
  21. int a[100][100], n, i, j;
  22.  
  23. void citire();
  24. void program();
  25.  
  26. int main()
  27. {
  28.     citire();
  29.     program();
  30.     return 0;
  31. }
  32.  
  33. void citire()
  34. {
  35.     ifstream f("citire.in");
  36.     f>>n;
  37.     for(i=1; i<=n; i++)
  38.         for(j=1; j<=n; j++)
  39.             f>>a[i][j];
  40.     f.close();
  41. }
  42.  
  43. void program()
  44. {
  45.     for(i=1; i<=n; i++)
  46.         for(j=1; j<=n; j++)
  47.         {
  48.             int ok=1;
  49.             if(i>1)
  50.                 if(a[i][j]>=a[i-1][j])
  51.                     ok=0;
  52.             if(j<n)
  53.                 if(a[i][j]>=a[i][j+1])
  54.                     ok=0;
  55.             if(i<n)
  56.                 if(a[i][j]>=a[i+1][j])
  57.                     ok=0;
  58.             if(j>1)
  59.                 if(a[i][j]>=a[i][j-1])
  60.                     ok=0;
  61.             if(ok==1)
  62.                 cout<<a[i][j]<<" ";
  63.         }
  64. }
  65. /* citire.in */
  66. 4
  67. 5 4 7 9
  68. 6 2 3 4
  69. 0 9 8 5
  70. 1 3 8 6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement