1.Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (1≤n≤100)şi apoi elementele unui tablou bidimensional cu n linii şi n coloane, care memorează numere naturale cu cel mult 9 cifre
fiecare; programul afişează pe ecran acele valori din tablou care sunt
strict mai mici decât toate elementele cu care se învecinează direct
(aflate pe aceeaşi linie dar pe o coloană alăturată sau pe aceeaşi
coloană dar pe o linie alăturată).Numerele afişate vor fi separate prin
câte un spaţiu.
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
ifstream f("matrice.txt");
long a[101][101];
int n,i,j;
int verifica(int i,int j)
{
long x=a[i][j];
if((i+1<=n)&&
(x>=a[i+1][j]))return 0;
if((i-1>=1)&& (x>=a[i-1][j]))return 0;
if((j-1>=1)&& (x>=a[i][j-1]))return 0;
if((j+1<=n)&&(x>=a[i][j+1]))return 0;
return 1;
}
void main()
{ do{cin>>n;}while(n<=1 ||n>=100);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if (verifica(i,j)==1)
cout<<a[i][j]<<" ";
}
2.Scrieti programul C sau C++ care construiete în memorie o matrice p cu n linii si n coloane formata numai din valori 1 si 2 astfel încât elementele de pe diagonala secundara si cea principala sa fie egale cu 1, iar restul elementelor din matrice sa fie egale cu 2
#include<iostream.h>
int n,i,j,a[23][23];
void matrice(int x)
{
for(i=1;i<=x;i++)
for(j=1;j<=x;j++)
if(i==j || i==x-j+1)
{
a[i][j]=1;
}
else
{
a[i][j]=2;
}
}
void afis()
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}
3. Sa se calculeze suma elementelor de pe diagonala principala a unei matrice patratica si suma elementelor de pe diagonala secunara, de dimensiune n.Elementele matricei sunt numere intregi.
#include<iostream.h>
void main()
{
int a[10][10],i,j,n,sp=0,ss=0; //ss=suma de pe diagonala principala
cout<>n; //sp=suma de pe diagonala secundara
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
cout<<"a["<<i+1<<","<<j+1<>a[i][j];
}
for (i=1;i<n;i++)
for (j=1;j<n;j++)
if (i==j) sp+=a[i][j];
for (i=1;i<n;i++)
for (j=n+1)
ss+=a[i][j];
cout<<"Suma de pe diagonala principala: "<<sp;
cout<<"Suma de pe diagonala secundara: "<
}
Niciun comentariu:
Trimiteți un comentariu