Sunteți pe pagina 1din 8

#include <iostream>

///11.scrieti un program care citeste de la tastatura o matrice cu n linii si n


coloane si
///afiseaza pe ecran nr valorilor din tablou care sunt strict mai mari decat toti
vecinii lor.
using namespace std;

int main()
{ int a[10][10],n,i,j,nr=0;
cout << "n=";
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}

if(a[1][1]>a[1][2]&&a[1][1]>a[2][1])
nr++;
if(a[1][n]>a[1][n-1]&&a[1][n]>a[2][n])
nr++;
if(a[n][1]>a[n][2]&&a[n][1]>a[n-1][1])
nr++;
if(a[n][n]>a[n][n-1]&&a[n][n]>a[n-1][n])
nr++;
for(j=2;j<n;j++)
{
if(a[1][j]>a[1][j-1]&&a[1][j]>a[1][j+1]&&a[1][j]>a[2][j])
nr++;
if(a[n][j]>a[n][j-1]&&a[n][j]>a[n][j+1]&&a[n][j]>a[n-1][j])
nr++;
}
for(i=2;i<n;i++)
{
if(a[i][1]>a[i-1][1]&&a[i][1]>a[i+1][1]&&a[i][1]>a[i][2])
nr++;
if(a[i][n]>a[i-1][n]&&a[i][n]>a[i+1][n]&&a[i][n]>a[i][n-1])
nr++;
}

for(i=2;i<n;i++)
for(j=2;j<n;j++)
if(a[i][j]>a[i][j+1]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i-1]
[j])
nr++;
cout<<"nr="<<nr;
return 0;
}

___________________________________________________________________________________
___________

#include <iostream>
///12.scrieti un program care citeste nr nat din intervalul [3,100],in aceasta
ordine:
///n,m,elementele matricei,iar la final un nr x. programul afiseaza pe ecran
mesajul
///DA, daca exista cel putin un element egal cu x aflat pe conturul
tabloului(format
///din prima linie,ultima linie,prima coloana si ultima coloana) sau mesajul NU in
caz contrar.

using namespace std;

int main()
{ int a[10][10],n,m,i,j,x,ok=0;
cout<<"Introduceti numere din intervalul 3-100:"<<endl;
cout << "n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
cout<<"x=";
cin>>x;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(a[1][j]==x||a[n][j]==x||a[i][1]==x||a[i][m]==x)
ok=1;
break;
}
if(ok==1)
cout<<"DA";
else
cout<<"NU";
return 0;
}

___________________________________________________________________________________
_____________

#include <iostream>
///13.se considera o matrice patratica,nr nat. sa se modifice matricea in felul
urmator:
///toate elementele de pe liniile care contin valoare maxima din matrice vor fi
marite cu
///valoarea minima din matrice.
using namespace std;

int main()
{ unsigned int a[10][10],n,i,j,max=0,min=INT_MAX,x;
cout << "n=";
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(a[i][j]>max)
max=a[i][j];
if(a[i][j]<min)
min=a[i][j];
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(a[i][j]==max)
for(j=1;j<=n;j++)
a[i][j]=a[i][j]+min;
}
cout<<"Matricea finala este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}

_________________________________________________________________________________

#include <iostream>
///14.se da o matrice cu n linii si m coloane,nr nat. sa se determine multimea
///formata din elementele distincte ale chenarului matricei.
using namespace std;
int main()
{ unsigned int a[10][10],n,m,i,j,k=0,v[40],aux;
cout << "n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=n;i++)
{
k++;
v[k]=a[i][1];
}
for(j=2;j<=m;j++)
{
k++;
v[k]=a[n][j];
}
for(i=1;i<n;i++)
{
k++;
v[k]=a[i][m];
}
for(j=2;j<n;j++)
{
k++;
v[k]=a[1][j];
}
cout<<"Elementele multimii sunt:"<<endl;
for(i=1;i<=k-1;i++)
for(j=i+1;j<=k;j++)
if(v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
cout<<v[1]<<" ";
for(i=2;i<=k;i++)
if(v[i]!=v[i-1])
cout<<v[i]<<" ";

return 0;
}

_______________________________________________________________________

#include <iostream>
///15.se da o matrice cu n linii si m coloane,nr nat. sa se determine cea mai mare
///valoare care apare in matrice de cel putin 2 ori.
using namespace std;
int fr[10];
int main()
{ unsigned int n,m,i,j,a[10][10],max=0;
cout << "n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
fr[a[i][j]]++;
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(fr[a[i][j]]>=2&&a[i][j]>max)
max=a[i][j];
cout<<"Numarul este:"<<max;
return 0;
}

_______________________________________________________________________________
#include <iostream>
///16.se da o matrice cu n linii si m coloane,nr nat. determinati indicele liniei
///care contine un nr maxim de elemente pare. daca exista mai multe linii cu
///nr maxim de elemente pare,se vor afisa toti indicii, in ordine crescatoare.
using namespace std;

int main()
{ unsigned int n,m,i,j,a[10][10],max=0,nr;
cout << "n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=n;i++)
{
nr=0;
for(j=1;j<=m;j++)
{
if(a[i][j]%2==0)
nr++;
}
if(nr>max)
max=nr;
}
for(i=1;i<=n;i++)
{
nr=0;
for(j=1;j<=m;j++)
if(a[i][j]%2==0)
nr++;
if(nr==max)
cout<<i<<" ";
}
return 0;
}

_______________________________________________________________________________

#include <iostream>
///17.sa se parcurga in sensul acelor de ceasornic si sa se afiseze chenarul
///exterior al unei matrice patratice.
using namespace std;

int main()
{ int a[10][10],i,j,n;
cout << "n=";
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"Chenarul matricei parcurs in sensul acelor de ceasornic este:"<<endl;
for(j=1;j<=n;j++)
cout<<a[1][j]<<" ";
for(i=2;i<=n;i++)
cout<<a[i][n]<<" ";
for(j=n-1;j>=1;j--)
cout<<a[n][j]<<" ";
for(i=n-1;i>=2;i--)
cout<<a[i][1]<<" ";
return 0;
}

_______________________________________________________________________________

#include <iostream>
///18.se da o matrice cu m linii si n coloane,nr nat. inlocuiti cu valoarea minima
///din matrice toate elementele de pe coloanele care contin valoarea minima.
using namespace std;

int main()
{unsigned int a[10][10],n,m,i,j,min=INT_MAX;
cout << "m=";
cin>>m;
cout<<"n=";
cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(a[i][j]<min)
min=a[i][j];

for(j=1;j<=n;j++)
{
for(i=1;i<=m;i++)
if(a[i][j]==min)
for(i=1;i<=m;i++)
a[i][j]=min;
}
cout<<"Matricea finala este:"<<endl;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}

___________________________________________________________________________________
__

#include <iostream>
///19.se da o matrice cu n linii si m coloane,nr nat. sa se determine cate din
elementele
///situate pe coloane cu indici pari sunt prime.
using namespace std;

int main()
{ unsigned int n,m,a[10][10],i,j,nr=0,ok,k;
cout << "n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
for(j=1;j<=m;j++)
{
for(i=1;i<=m;i++)
if(j%2==0)
{
ok=1;
for(k=2;k<=a[i][j]/2;k++)
if(a[i][j]%k==0)
ok=0;
if(ok==1&&a[i][j]>1)
nr++;
}
}
cout<<"Numarul numerelor care indeplinesc conditia este:"<<nr;
return 0;
}

___________________________________________________________________________________
_

#include <iostream>
///20.se da o matrice cu n linii si m coloane,nr nat. sa se oglindeasca toate
liniile matricei
///care incep cu un nr prim si apoi sa se afiseze matricea.
using namespace std;

int main()
{ unsigned int n,m,a[10][10],i,j,ok,k,inv;
cout << "n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cout<<"a["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
ok=1;
for(k=2;k<=a[i][1]/2;k++)
if(a[i][1]%k==0)
ok=0;
if(ok==1&&a[i][1]>1)
{
inv=0;
while(a[i][j]!=0)
{
inv=inv*10+a[i][j]%10;
a[i][j]=a[i][j]/10;
}
a[i][j]=inv;
}
}
}
cout<<"Matricea finala este:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}

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