Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- /*1. Se consideraun tablou bidimensional cu n linii ~i m coloane ce contine numere naturale. Realizati un program care determina suma
- elementelor de pe fiecare linie cu numar de ordine par si produsul elementelor de pe fiecare coloana cu numar de ordine impar.
- */
- /*2. Se considera un tablou bidimensional cu n linii si n coloane ce contine numere naturale. Realizati un program care deterrnina
- elementul maxim de pe diagonala principalaa matricei si linia pe care acesta este situat.
- */
- /*5. Realizati un program care determine numarul liniei eu eele mai multe elemente pare, al unei matrice patratice de dimensiune nxn.
- Daca exista rnai rnulte linii cu numar maximde elemente pare se va afisa una singura. */
- /*7. Realizati un program care deterrnine eel mai mare divizor comun al elementelor situate pe fiecare coloana, a unei matrici patratice.*/
- using namespace std;
- int cmmdc(int[], int);
- int main()
- {
- int pb; cout<<"Introdu nr probl."; cin>>pb;
- switch(pb){
- case 1:{//pb 1
- int n, m;
- cout<<"n="; cin>>n; cout<<"m="; cin>>m;
- cout<<"Scrie matricea:"<<endl;
- int v[n][m];
- for (int i=0; i<n; i++){
- for (int j=0; j<m; j++)
- cin>>v[i][j];
- }
- int sl=0;//suma pe linie
- int pc=1;//produs pe coloana
- for (int i=0; i<n; i++){
- if (i%2==0){
- for (int j=0; j<m; j++)
- sl+=v[i][j];
- }
- }
- for (int i=0; i<m; i++){
- if (i%2){
- for (int j=0; j<n; j++)
- pc*=v[j][i];
- }
- }
- cout<<"Suma pe linie este:"<<sl<<endl;
- cout<<"Produsul pe coloana etse:"<<pc;
- break;
- }
- case 2:{//pb 2
- int n; cout<<"n="; cin>>n;
- int v[n][n];
- for (int i=0; i<n; i++){
- for (int j=0; j<n; j++)
- cin>>v[i][j];
- }
- int nmax=0, l=0;
- for (int i=0; i<n; i++){
- if(v[i][i]>=nmax){
- nmax=v[i][i];
- l=i;
- }
- }
- cout<<"Numarul maxim este: "<<nmax<<" si se afla pe linia "<<l<<endl;
- break;
- }
- case 5:{//pb 5
- int n; cout<<"n="; cin>>n;
- int v[n][n];
- cout<<"Introdu matricea:"<<endl;
- for (int i=0; i<n; i++){
- for (int j=0; j<n; j++)
- cin>>v[i][j];
- }
- int nrmax=0, l, nr;
- for (int i=0; i<n; i++){
- nr=0;//nr de nr pare
- for(int j=0; j<n; j++){
- if (v[i][j]%2==0)
- nr++;
- }
- if (nr>=nrmax){
- nrmax=nr;
- l=i;
- }
- }
- cout<<"Cele mai multe nr pare sunt pe linia "<<l<<endl;//l-1 daca se incepe de la 0
- break;
- }
- case 7:{//pb 7
- int n;
- cout<<"n="; cin>>n;
- int v[n][n];
- cout<<"Introdu matricea:"<<endl;
- for(int i=0; i<n; i++){
- for (int j=0; j<n; j++)
- cin>>v[i][j];
- }
- for (int i=0; i<n; i++){
- int lin=0;
- int c[n];
- for (int j=0; j<n; j++)
- c[j]=v[lin++][i];
- cout<<cmmdc (c,n)<<" ";
- }
- }
- }
- return 0;
- }
- int cmmdc(int v[], int n)
- {
- int i=1;
- int cm=v[0];
- while (i<n){
- int r;
- int x=v[i];
- r = v[i] % cm;
- while(r)
- {
- x=cm;
- cm=r;
- r=x%cm;
- }
- i++;
- }
- return cm;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement