Sunteți pe pagina 1din 15

Tema la info

1.( Problema #191)


Să se determine, pentru fiecare linie a matricei, valoarea maximă și indicele coloanei pe care se
află valoarea maximă.

#include <iostream>
Using namespace std;
int main()
{
int n , m , a[101][101] , ind , max;
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m ; ++j) fin >> a[i][j];
for(int i = 0 ; i < n ; ++i)
{
max = -1001;
for(int j = 0 ; j < m ; ++j)
{
if(a[i][j] > max)
{
max = a[i][j];
ind = j;
}
}
cout << max << " " << ind + 1 << endl;
}
return 0;
}
2.( Problema #192)
Să se afișeze elementele de pe coloana din matrice cu suma elementelor maxima.

#include <iostream>
Using namespace std;
int main()
{
int n , a[101][101] , ind = 0 , m , smax = -100001;
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m ; ++j) fin >> a[i][j];
for(int j = 0 ; j < m ; ++j)
{
int s = 0;
for(int i = 0 ; i < n ; ++i)
{
s += a[i][j];
}
if ( s > smax) {smax = s;ind = j;}
}
for(int i = 0 ; i< n ; ++i) fout<<a[i][ind]<<" ";
return 0;
}
3.( Problema #193)
Să se afișeze matricea obținută prin interschimbarea în matricea dată a liniei care conține
valoarea maximă cu linia care conține valoarea minima.

#include <iostream>
Using namespace std;
int main()
{
int n , m , a[101][101] , min = 10001 , max = 0 , lmax = 0 , lmin = 0;
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m ; ++j)
{
cin >> a[i][j];
if(a[i][j] > max)
{
max = a[i][j];
lmax=i;
}
if(a[i][j] < min)
{
min=a[i][j];
lmin=i;
}
}
for(int i = 0 ; i < n ; ++i)
{
for(int j = 0 ; j < m ; ++j)
{
if(i==lmax)
cout << a[lmin][j] << " ";
if(i==lmin)
cout << a[lmax][j] << " ";
if(i!=lmax && i!=lmin)
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
4.( Problema #222)
Să se determine, pentru fiecare coloană, valoarea minimă de pe coloana respectivă.

#include <iostream>
Using namespace std;
int main()
{
int n , a[101][101] , ind = 0 , m , smax = -100001;
cin >> n;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < n ; ++j) fin >> a[i][j];
for(int j = 0 ; j < n ; ++j)
{
int min = 1001;
for(int i = 0 ; i < n ; ++i)
{
if(a[i][j] < min) min=a[i][j];
}
cout << mini << " ";
}
return 0;
}
5.( Problema #314)
Se consideră tabloul bidimensional cu m linii şi n coloane şi elemente numere naturale. Să se
determine numărul de coloane care conţin doar elemente egale cu 0.

#include <iostream>
Using namespace std;
int main()
{
int n , m , a[101][101] , cnt = 0;
cin >> n >> m;
for(int i = 0; i < n ; ++i)
for(int j = 0 ; j < m ; ++j) fin >> a[i][j];
for(int j = 0 ; j < m ; ++j)
{
int ok = 1;
for(int i = 0 ; i < n ; ++i)
{
if(a[i][j] != 0) ok = 0;
}
if (ok==1) cnt++;
}
cout << cnt;
return 0;
}

6.(Problema #316)
Se dă o matrice cu m linii şi n coloane şi elemente numere naturale. Înlocuiţi cu
valoarea minimă din matrice toate elementele de pe coloanele care conţin valoarea
minimă.
#include <iostream>
Using namespace std;
int main()
{
int n, m;
cin >> n >> m;
int a[101][101];
int min = MAX;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m ; ++j)
{
cin >> a[i][j];
if(a[i][j] < min) min=a[i][j];
}
for(int i = 0 ; i < n ; ++i)
{
for(int j = 0 ; j < m ; ++j)
{
int s = MAX;
for(int k = 0 ; k < n ; ++k)
{
if(a[k][j]<s)
s=a[k][j];
}
if(s == min) cout << min <<" ";
else cout << a[i][j] <<" ";
}
cout << endl;
}
return 0;
}
7.( Problema #619)
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Ordonați crescător
elementele de pe fiecare linie a matricei și apoi afişați matricea.

#include <iostream>
Using namespace std;
int main()
{
int n , m, a[101][101];
cin >> n >> m;
for(int i = 0 ;i < n; ++i)
{
for(int j = 0 ; j < m; ++j) cin >> a[i][j];
}
for(int i = 0 ;i < n; ++i)
{
sort(a[i],a[i]+m);
}
for(int i = 0 ;i < n; ++i)
{
for(int j = 0 ; j < m; ++j) cout << a[i][j]<<" ";
cout<<endl;
}
return 0;
}
8.(Problema #620)
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Ordonați descrescător
elementele de pe fiecare coloană a matricei și apoi afișați matricea.

#include <iostream>
Using namespace std;
int main()
int n , a[101][101] , m;
int sort(int col)
{
for(int i = 0 ; i < n ; ++i)
for(int j= i+1; j < n; ++j)
{
if(a[i][col] > a[j][col])
{
int aux = a[i][col];
a[i][col] = a[j][col];
a[j][col] = aux;
}
}
}
int main()
{
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m ; ++j) cin >>a[i][j];
for(int j = 0 ; j < m ; ++j)
{
sort(j);
}
for(int i = n - 1 ; i >= 0 ; --i)
{
for(int j = 0 ; j < m ; ++j)
cout <<a[i][j]<<" ";
cout<<endl;
}
return 0;
}

9. (Problema #658)
Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine suma
elementelor de pe fiecare linie.

#include <iostream>
Using namespace std;
int main()
{
int n,m,s=0;
int a[101][101];
cin >> n >> m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
cin >> a[i][j];
for(int i=1;i<=n;++i)
{
s=0;
for(int j=1;j<=m;++j)
s=s+a[i][j];
cout << s<<" ";
}
return 0;
}
10.( Problema #662)
Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine indicele
liniei pentru care suma elementelor pare este maximă.

#include <iostream>
Using namespace std;
int main()
{
int n,a[101][101],m,s=0,max=-1,imax=-1;
cin >> n >> m;
for(int i = 0; i < n; ++i)
for(int j = 0; j < m; ++j) cin >> a[i][j];
for(int i = 0; i < n; ++i)
{
s=0;
for(int j = 0; j < m; ++j)
{
if(a[i][j]%2==0) s=s+a[i][j];
}
if(s >= max)
{
max = s;
imax = i;
}
}
cout << imax+1;
return 0;
}
11.( Problema #666)
Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine câte dintre
elementele situate pe linii cu indici pari sunt prime.

#include <iostream>
Using namespace std;
int main()
}
int n,m,cate=0;;
int a[101][101];
cin >> n >> m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
{
cin >> a[i][j];
}
for(int i=2;i<=n;i=i+2)
for(int j=1;j<=m;++j)
{
if(prim(a[i][j])) cate++;
}
cout <<cate;
return 0;
}
12.(Problema #668)
Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine câte perechi
de linii consecutive din matrice sunt identice.

#include <iostream>
Using namespace std;
int main()
{
int n , m , a[100][100] , ind , max, cate=0 , cnt = 0 , v[101];
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m ; ++j) cin >> a[i][j];
for(int i = 0 ; i < n ; ++i)
{
cnt = 0;
for(int j = 0 ; j < m ; ++j)
{
if(v[j]==a[i][j])
cnt++;
v[j]=a[i][j];
}
if ( cnt == m) cate++;
}
cout<<cate;
return 0;
}
13.(Problema #762)
Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se determine câte perechi
de linii din matrice sunt identice.

#include <iostream>
Using namespace std;
int main()
{
int a[101][101] , n , m , cnt = 0;
cin >> n >> m;
for (int i = 1 ;i <= n ; ++i)
for(int j = 1 ; j <= m ; ++j) cin >> a[i][j];
for(int i = 1 ; i < n ; i ++)
for(int k = i+1 ; k <= n ; k++)
{
int ok = 0;
for(int j = 1 ; j <= m ; j ++)
if(a[i][j] != a[k][j])
ok = 1;
if(ok == 0) cnt ++;
}
cout << cnt;
return 0;
}
14.( Problema #766)
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Determinați indicele liniei
care conține număr maxim de elemente pare. Dacă există mai multe linii cu număr maxim de
elemente pare, se vor afișa toți indicii, în ordine crescătoare.

#include <iostream>
Using namespace std;
int main()
{
int n , m , a[101][101] , max= 0 , cnt = 0;
cin >> n >> m;
for(int i = 1 ; i <= n ; ++i)
{
cnt=0;
for(int j = 1 ; j <= m ; ++j)
{
cin >> a[i][j];
if(a[i][j]%2==0)
cnt++;
}
if(cnt>max)
max=cnt;
}
for(int i = 1 ; i <= n ; ++i)
{
int cnt=0;
for(int j = 1 ; j <= m ; ++j)
{
if(a[i][j]%2==0)
cnt++;
}
if(cnt==max)
cout << i <<" ";
}
return 0;
}
15.( Problema #767)
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Determinați suma valorilor
pare din matrice.

#include <iostream>
Using namespace std;
int main()
{
int n , m , s = 0;
int a[101][101];
cin >> n >> m;
for(int i = 1 ; i <= n ; ++i)
for(int j = 1 ; j <= m ; ++j)
cin >> a[i][j];
for(int i = 1 ; i <= n ; ++i)
for(int j = 1 ; j <= m ;++j)
if(a[i][j] % 2 == 0)
s = s + a[i][j];
cout << s;
return 0;
}
16.(Problema #768)
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Determinați suma valorilor
pare distincte din matrice. Dacă o valoare pară apare în matrice de mai multe ori, se va aduna o
singură dată.

#include <iostream>
Using namespace std;
int main()
{
int n , m , p = 0 , a[101][101] , v[101] , s = 0;
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m ; ++j)
{
cin >> a[i][j];
if(a[i][j]%2==0)
{
s+=a[i][j];
v[p++]=a[i][j];
}
}
sort(v , v+p);
for(int i = 0 ; i < p ; ++i)
{
if(v[i]==v[i+1])
s-=v[i];
}
cout << s;
}

17.( Problema #771)


Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se ordoneze liniile
matricei crescător după suma elementelor.

#include <iostream>
Using namespace std;
int main()
{
int n,m,k,a[101][101], v[101] , s[101];
cin >> n >> m;
for(int i = 1 ; i <= n ; ++i)
for(int j = 1 ; j <= m ; ++j)
cin >> a[i][j] , s[i] += a[i][j];
for(int i = 1 ; i <= n ; ++i)
v[i] = i;
for(int i =1 ; i < n ; ++i)
for(int j = i + 1 ; j <= n ; ++j)
if(s[v[i]] > s[v[j]]) swap(v[i] , v[j]);
for(int i = 1 ; i <= n ; ++i)
{
for(int j = 1 ; j <= m ; ++j)
cout << a[v[i]][j] << " ";
cout << endl;
}
return 0;
}
18.( Problema #776)
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se determine câte linii ale
matricei au toate elementele egale.

#include <iostream>
Using namespace std;
int main()
{
int n , m , a[101][101] , cnt = 0 , cate=0;
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j= 0; j < m; ++j) cin >> a[i][j];
for(int i = 0 ; i < n ; ++i)
{
cnt = 0;
for(int j= 1; j < m; ++j)
{
if(a[i][j]==a[i][0]) cnt++;
}
if(cnt == m - 1) cate++;
}
cout<<cate;
return 0;
}
19.( Problema #796)
Se dă o matrice cu m linii și n coloane și elemente numere naturale cu cel mult patru cifre. Să se
modifice matricea, eliminând penultima linie și penultima coloană.

#include <iostream>
Using namespace std;
int main()
{
int n , m, a[101][101];
cin >> n >> m;
for(int i = 0 ;i < n; ++i)
{
for(int j = 0 ; j < m; ++j) cin >> a[i][j];
}
for(int i = 0 ; i < n; ++i)
{
for(int j = 0 ; j < m; ++j)
{
if(i != n-2 && j != m-2) cout<<a[i][j]<< " ";
}
if(i != n-2) cout<<endl;
}
return 0;
}
20.( Problema #804)
Se dă o matrice cu m linii şi n coloane şi elemente numere naturale cu cel mult 4 cifre fiecare. Să
se determine coloanele matricei care au toate elementele egale cu aceeași valoare.

#include <iostream>
Using namespace std;
int main()
{
int n,m,s=0,max;
int a[101][101];
cin >> m >> n;
for(int i=1;i<=m;++i)
for(int j=1;j<=n;++j)
cin >> a[i][j];
for(int j=1;j<=n;++j)
{
ok=true;
for(int i =1;i<m;++i)
if(a[i][j] != a[i+1][j]) ok=false;
if(ok==true)
{
a[0][j]=1;
gasit = true;
}
else a[0][j]=0;
}
if( gasit == false)
cout << "nu exista";
else
for(int j=1;j<=n;++j)
if(a[0][j]==1) cout << a[1][j]<<" ";
return 0;
}

S-ar putea să vă placă și