Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #define dim 5
- using namespace std;
- int a[dim][dim];
- //1.Generarea tabelului
- void Generare(int a[][dim], int n)
- {
- srand(time(0));
- for(int i = 0; i < n; i++)
- for(int j = 0; j < n; j++)
- a[i][j] = rand() % dim + 1;
- }
- //2.Afisarea tabelului
- void Afisare(int a[][dim], int n)
- {
- for(int i = 0; i < n; i++)
- {
- for(int j = 0; j < n; j++)
- cout << a[i][j] << " ";
- cout << "\n";
- }
- cout << "\n\n";
- }
- //3.Suma elementelor de pe un rand
- int SumaR(int a[][dim], int n, int i)
- {
- int s = 0;
- for(int j = 0; j < n; j++)
- s += a[i][j];
- return s;
- }
- //4.Suma elementelor de pe o coloana
- int SumaC(int a[][dim], int n, int j)
- {
- int s = 0;
- for(int i = 0; i < n; i++)
- s += a[i][j];
- return s;
- }
- //5.Suma elementelor de pe diagonala principala
- int SumaDP(int a[][dim], int n)
- {
- int s = 0;
- for(int i = 0; i < n; i++)
- s += a[i][i];
- return s;
- }
- //6.Suma elementelor de pe diagonala secundara
- int SumaDS(int a[][dim], int n)
- {
- int s = 0;
- for(int i = 0; i < n; i++)
- s += a[i][n-i-1];
- return s;
- }
- //7.Suma elementelor de deasupra diagonalei principale
- int SumaDeasDP(int a[][dim], int n)
- {
- int s = 0;
- for(int i = 0; i < n-1; i++)
- for(int j = i+1; j < n; j++)
- s += a[i][j];
- return s;
- }
- //8.Suma elementelor de sub diagonala principala
- int SumaSubDP(int a[][dim], int n)
- {
- int s = 0;
- for(int i = 1; i < n; i++)
- for(int j = 0; j < i; j++)
- s += a[i][j];
- return s;
- }
- //9.Suma elementelor de deasupra diagonalei secundare
- int SumaDeasDS(int a[][dim], int n)
- {
- int s = 0;
- for(int i = 0; i < n-1; i++)
- for(int j = 0; j < n-i-1; j++)
- s += a[i][j];
- return s;
- }
- //10.Suma elementelor de sub diagonala secundara
- int SumaSubDS(int a[][dim], int n)
- {
- int s = 0;
- for(int i = 1; i < n; i++)
- for(int j = n-i; j < n; j++)
- s += a[i][j];
- return s;
- }
- //11.Cautarea unui element si afisarea pozitiei lui
- void Cautare(int a[][dim], int n, int x)
- {
- for(int i = 0; i < n; i++)
- for(int j = 0; j < n; j++)
- if(a[i][j] == x)
- cout << i << ", " << j << "\n";
- }
- //12.Interschimbarea a doua randuri
- void InterschimbareR(int a[][dim], int n, int i, int i2)
- {
- for(int j = 0; j < n; j++)
- {
- int aux = a[i][j];
- a[i][j] = a[i2][j];
- a[i2][j] = aux;
- }
- }
- //13.Interschimbarea a doua coloane
- void InterschimbareC(int a[][dim], int n, int j, int j2)
- {
- for(int i = 0; i < n; i++)
- {
- int aux = a[i][j];
- a[i][j] = a[i][j2];
- a[i][j2] = aux;
- }
- }
- //14.Oglinditul tabloului
- //a)Vertical
- void Oglindit(int a[][dim], int n)
- {
- for(int i = 0; i < n; i++)
- for(int j = 0; j <= n/2; j++)
- {
- int aux = a[i][j];
- a[i][j] = a[i][n-j-1];
- a[i][n-j-1] = aux;
- }
- }
- //b)Orizontal
- void Oglindit2(int a[][dim], int n)
- {
- for(int j = 0; j < n; j++)
- for(int i = 0; i <= n/2; i++)
- {
- int aux = a[i][j];
- a[i][j] = a[n-i-1][j];
- a[n-i-1][j] = aux;
- }
- }
- //c)Dupa DP
- void Oglindit3(int a[][dim], int n)
- {
- for(int i = 1; i < n; i++)
- for(int j = 0; j < i; j++)
- {
- int aux = a[i][j];
- a[i][j] = a[j][i];
- a[j][i] = aux;
- }
- }
- //d)Dupa DS
- void Oglindit4(int a[][dim], int n)
- {
- for(int i = 0; i < n-1; i++)
- for(int j = 0; j < n-i-1; j++)
- {
- int aux = a[i][j];
- a[i][j] = a[n-j-1][n-i-1];
- a[n-j-1][n-i-1] = aux;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement