Advertisement
J00ker

(10-7)Proiect Biblioteca - biblioteca.c

Oct 6th, 2014
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. #define dim 5
  5.  
  6. using namespace std;
  7.  
  8. int a[dim][dim];
  9.  
  10. //1.Generarea tabelului
  11. void Generare(int a[][dim], int n)
  12. {
  13.     srand(time(0));
  14.     for(int i = 0; i < n; i++)
  15.         for(int j = 0; j < n; j++)
  16.             a[i][j] = rand() % dim + 1;
  17. }
  18.  
  19. //2.Afisarea tabelului
  20. void Afisare(int a[][dim], int n)
  21. {
  22.     for(int i = 0; i < n; i++)
  23.     {
  24.         for(int j = 0; j < n; j++)
  25.             cout << a[i][j] << " ";
  26.         cout << "\n";
  27.     }
  28.     cout << "\n\n";
  29. }
  30.  
  31. //3.Suma elementelor de pe un rand
  32. int SumaR(int a[][dim], int n, int i)
  33. {
  34.     int s = 0;
  35.     for(int j = 0; j < n; j++)
  36.         s += a[i][j];
  37.     return s;
  38. }
  39.  
  40. //4.Suma elementelor de pe o coloana
  41. int SumaC(int a[][dim], int n, int j)
  42. {
  43.     int s = 0;
  44.     for(int i = 0; i < n; i++)
  45.         s += a[i][j];
  46.     return s;
  47. }
  48.  
  49. //5.Suma elementelor de pe diagonala principala
  50. int SumaDP(int a[][dim], int n)
  51. {
  52.     int s = 0;
  53.     for(int i = 0; i < n; i++)
  54.         s += a[i][i];
  55.     return s;
  56. }
  57.  
  58. //6.Suma elementelor de pe diagonala secundara
  59. int SumaDS(int a[][dim], int n)
  60. {
  61.     int s = 0;
  62.     for(int i = 0; i < n; i++)
  63.         s += a[i][n-i-1];
  64.     return s;
  65. }
  66.  
  67. //7.Suma elementelor de deasupra diagonalei principale
  68. int SumaDeasDP(int a[][dim], int n)
  69. {
  70.     int s = 0;
  71.     for(int i = 0; i < n-1; i++)
  72.         for(int j = i+1; j < n; j++)
  73.             s += a[i][j];
  74.     return s;
  75. }
  76.  
  77. //8.Suma elementelor de sub diagonala principala
  78. int SumaSubDP(int a[][dim], int n)
  79. {
  80.     int s = 0;
  81.     for(int i = 1; i < n; i++)
  82.         for(int j = 0; j < i; j++)
  83.             s += a[i][j];
  84.     return s;
  85. }
  86.  
  87. //9.Suma elementelor de deasupra diagonalei secundare
  88. int SumaDeasDS(int a[][dim], int n)
  89. {
  90.     int s = 0;
  91.     for(int i = 0; i < n-1; i++)
  92.         for(int j = 0; j < n-i-1; j++)
  93.             s += a[i][j];
  94.     return s;
  95. }
  96.  
  97. //10.Suma elementelor de sub diagonala secundara
  98. int SumaSubDS(int a[][dim], int n)
  99. {
  100.     int s = 0;
  101.     for(int i = 1; i < n; i++)
  102.         for(int j = n-i; j < n; j++)
  103.             s += a[i][j];
  104.     return s;
  105. }
  106.  
  107. //11.Cautarea unui element si afisarea pozitiei lui
  108. void Cautare(int a[][dim], int n, int x)
  109. {
  110.     for(int i = 0; i < n; i++)
  111.         for(int j = 0; j < n; j++)
  112.             if(a[i][j] == x)
  113.                 cout << i << ", " << j << "\n";
  114. }
  115.  
  116. //12.Interschimbarea a doua randuri
  117. void InterschimbareR(int a[][dim], int n, int i, int i2)
  118. {
  119.     for(int j = 0; j < n; j++)
  120.     {
  121.         int aux = a[i][j];
  122.         a[i][j] = a[i2][j];
  123.         a[i2][j] = aux;
  124.     }
  125. }
  126.  
  127. //13.Interschimbarea a doua coloane
  128. void InterschimbareC(int a[][dim], int n, int j, int j2)
  129. {
  130.     for(int i = 0; i < n; i++)
  131.     {
  132.         int aux = a[i][j];
  133.         a[i][j] = a[i][j2];
  134.         a[i][j2] = aux;
  135.     }
  136. }
  137.  
  138. //14.Oglinditul tabloului
  139. //a)Vertical
  140. void Oglindit(int a[][dim], int n)
  141. {
  142.     for(int i = 0; i < n; i++)
  143.         for(int j = 0; j <= n/2; j++)
  144.         {
  145.             int aux = a[i][j];
  146.             a[i][j] = a[i][n-j-1];
  147.             a[i][n-j-1] = aux;
  148.         }
  149. }
  150. //b)Orizontal
  151. void Oglindit2(int a[][dim], int n)
  152. {
  153.     for(int j = 0; j < n; j++)
  154.         for(int i = 0; i <= n/2; i++)
  155.         {
  156.             int aux = a[i][j];
  157.             a[i][j] = a[n-i-1][j];
  158.             a[n-i-1][j] = aux;
  159.         }
  160. }
  161. //c)Dupa DP
  162. void Oglindit3(int a[][dim], int n)
  163. {
  164.     for(int i = 1; i < n; i++)
  165.         for(int j = 0; j < i; j++)
  166.         {
  167.             int aux = a[i][j];
  168.             a[i][j] = a[j][i];
  169.             a[j][i] = aux;
  170.         }
  171. }
  172. //d)Dupa DS
  173. void Oglindit4(int a[][dim], int n)
  174. {
  175.     for(int i = 0; i < n-1; i++)
  176.         for(int j = 0; j < n-i-1; j++)
  177.         {
  178.             int aux = a[i][j];
  179.             a[i][j] = a[n-j-1][n-i-1];
  180.             a[n-j-1][n-i-1] = aux;
  181.         }
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement