matrici2
Se dă o matrice x, cu n linii şi n coloane. Să se determine maximul elementelor pare de pe coloana p.
#include<iostream.h>
int x[30][30],n,m;
void citire()
{int i,j;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{cout<<"x["<<i<<"]["<<j<<"]";
cin>>x[i][j];
}
}
void afisare()
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
cout<<x[i][j]<<" ";
cout<<"\n";
}
}
void maxim_coloana_p()
{
int p;
cout<<"nr coloanei p="; cin>>p;
int max=-1;
for(int i=1;i<=n;i++)
if(x[i][p]%2==0)
if(x[i][p]>max) max=x[i][p];
if(max>-1)cout<<"max="<<max<<endl;
else cout<<"nu exista nr pare pe coloana p\n";
}
void main()
{
citire();
cout<<"matricea este\n";
afisare();
maxim_coloana_p();
}
Se consideră o matrice cu m linii şi n coloane, elementele matricei sunt numere întregi. Să se determine elementul minim de pe o coloană c, dată de la tastatură.
#include<iostream.h>
int x[30][30],n,m;
void citire()
{int i,j;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{cout<<"x["<<i<<"]["<<j<<"]";
cin>>x[i][j];
}
}
void afisare()
{
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
cout<<x[i][j]<<" ";
cout<<"\n";
}
}
void minim_coloana_p()
{
int c;
cout<<"nr coloanei c="; cin>>c;
int min=x[1][c];
for(int i=1;i<=m;i++)
if(x[i][c]%2==0)
if(x[i][c]<min) min=x[i][c];
cout<<"min="<<min<<endl;
}
void main()
{
citire();
cout<<"matricea este\n";
afisare();
minim_coloana_p();
}
Se citeşte un număr natural n. Să se creeze o matrice care conţine:
- cifrele numărului pe diagonala principală;
- valoarea elementelor rămase în matrice, să conţină valoarea 0.
#include<iostream.h>
int a[30][30],n,lin;
int nr_cifre(int n)
{
int nr=0;
while(n!=0)
{nr++;n=n/10;}
return nr;
}
void matrice_cu_0()
{lin=nr_cifre(n);
for(int i=1;i<=lin;i++)
for(int j=1;j<=lin;j++)
a[i][j]=0;
}
void diagonala(int n)
{int nr=0;
while(n!=0)
{nr++;
a[nr][nr]=n%10;
n=n/10;
}
}
void afisare()
{
for (int i=1;i<=lin;i++)
{for(int j=1;j<=lin;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
}
void main()
{cout<<"n=";cin>>n;
matrice_cu_0();
diagonala(n);
afisare();
}
Se citeşte o matrice cu m linii şi n coloane, cu elemente numere întregi. Să se interschimbe două linii l1 si l2 (date), între ele, folosind un subprogram.
#include<iostream.h>
int x[30][30],n,m;
void citire()
{int i,j;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{cout<<"x["<<i<<"]["<<j<<"]";
cin>>x[i][j];
}
}
void afisare()
{
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
cout<<x[i][j]<<" ";
cout<<"\n";
}
}
void interschimbare_linii()
{
int l1,l2,aux;
cout<<"linia l1=";cin>>l1;
cout<<"linia l2=";cin>>l2;
for(int i=1;i<=n;i++)
{
aux=x[l1][i];
x[l1][i]=x[l2][i];
x[l2][i]=aux;}
}
void main()
{
citire();
cout<<"matricea este\n";
afisare();
interschimbare_linii();
afisare();
}