Professional Documents
Culture Documents
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
int main()
{
int a[31][31],n,m,i,j,b[31][31], c[31][31],aux,s,nc;
///citire matrice
cin>>n>>m;
for(i=1;i<=n;i++) ///parcurgem liniile
for(j=1;j<=m;j++) ///parcurgere coloane
cin>>a[i][j];
///majoritatea prelucrarilor pp parcurgerea matricii
///pe linii de sus in jos si de la dreapta la stanga
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
///suma cifre a[i][j]
aux=a[i][j];
s=0; nc=0;
while(aux!=0)
{
s=s+aux%10;
nc++;
aux=aux/10;
}
b[i][j]=s;
c[i][j]=nc;
}
///afisare matrice "de nota 10"
cout<<"MAtricea sumelor"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
cout<<"Matrice nr de cifre"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}
return 0;
}
for(i=1;i<=n;i++)
{
///1. initializari ex. s=0
Atentie!!!
m=3; n=4
0 1 2 3 4 n+1
0
1 1 2 3 4 10
2 0 1 0 1 2
3 4 2 1 3 10
m+1 5 5 4 8 44
365/54
#include <iostream>
int main()
{
int a[31][31],n,m,i,j,mini,maxi=-999999;
///citire matrice
cin>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
///prelucrare pe linii
for(i=1;i<=m;i++)
{
///initializari ex. s=0
s=0;
return 0;
}
366/54
#include <iostream>
///citire matrice
cin>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
a[i][n+1]=a[i][n+1]+a[i][j];
a[m+1][j]=a[m+1][j]+a[i][j];
a[m+1][n+1]=a[m+1][n+1]+a[i][j];
}
for(i=1;i<=m+1;i++)
{
for(j=1;j<=n+1;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
368/54
#include <iostream>
///citire matrice
cin>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=m;i++)
{
s=0;
for(j=1;j<=n;j++)
{
s=s+a[i][j];
}
a[i][0]=s;
}
///vom face perechi de linii
for(i=1;i<=m;i++)
for(k=i+1;k<=m;k++)
if(a[i][0]==a[k][0])
cout<<"("<<i<<","<<k<<"),";
return 0;
}
369/55
#include <iostream>
///citire matrice
cin>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=m;i++)
{
s=0;
for(j=1;j<=n;j++)
{
s=s+a[i][j];
}
a[i][0]=s;
for(i=1;i<=m;i++)
if(a[i][0]!=0)
{
cout<<"("<<i;
for(k=i+1;k<=m;k++)
if(a[i][0]==a[k][0])
{cout<<","<<k;
a[k][0]=0;
}
cout<<"),";
}
return 0;
}
371/55
#include <iostream>
///citire matrice
cin>>m>>n>>x;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=m;i++)
{
gasit=0;
for(j=1;j<=n;j++)
{
if(a[i][j]==x)
gasit=1;
}
if(gasit==1) cout<<i<<" ";
}
return 0;
}
11 12 13 14 15
21 22 23 24 25
k=2
31 32 33 34 35
k+1
41 42 43 44 45 m
Stergerea coloanei k
390.
#include <iostream>
int main()
{
int a[31][31],m,n,i,j,mini,lmin,cmin;
cin>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
///detrmin mini si linia/coloana pe care se gaseste
mini=a[1][1];
lmin=1;
cmin=1;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
if(mini>a[i][j])
{
mini=a[i][j];
lmin=i;
cmin=j;
}
///stergem linia lmin
for(i=lmin+1; i<=m; i++)
for(j=1; j<=n; j++)
a[i-1][j]=a[i][j];
m=m-1;
///stergem coloana cmin
396.
#include <iostream>
int main()
{
int a[31][31],m,n,i,j,x,s,k;
cin>>m>>n>>x;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
///parcurg pe coloane
for(j=1;j<=n;j++)
{
///determin suma elem de pe col j
s=0;
for(i=1;i<=m;i++)
s=s+a[i][j];
///verific conditia de stergere
if(s<x)
{
///sterg coloana j
for(k=j+1;k<=n;k++)
for(i=1;i<=m;i++)
a[i][k-1]=a[i][k];
n=n-1; j--;
}
}
///afisarea de nota 10
for(i=1; i<=m; i++)
{
for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
394.
1 2 3 4 5 6 j=1
1 2 3 4 5 6 j=2
1 3 4 5 6 j=3
1 3 5 6 j=4
135
#include <iostream>
int main()
{
int a[31][31],m,n,i,j,k;
cin>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
///parcurg pe coloane
for(j=2;j<=n;j++)
{
for(k=j+1;k<=n;k++)
for(i=1;i<=m;i++)
a[i][k-1]=a[i][k];
n=n-1;
}
///afisarea de nota 10
int main()
{
int a[31][31],m,n,i,j,x,s,k;
cin>>m>>n>>x;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
///parcurg pe coloane
for(j=1;j<=n;j++)
{
///determin daca coloana j contine nr negative = numaram elem negative
s=0;
for(i=1;i<=m;i++)
if(a[i][j]<0)
s++;
///verific conditia de stergere
if(s!=0)
{
///sterg coloana j
for(k=j+1;k<=n;k++)
for(i=1;i<=m;i++)
a[i][k-1]=a[i][k];
n=n-1; j--;
}
}
///afisarea de nota 10
int main()
{
int a[31][31],m,n,i,j,x,s,k;
cin>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
///parcurg pe coloane
for(j=1;j<=n;j++)
{
///determin daca coloana j contine doar numere dint-o cifra
s=0;
for(i=1;i<=m;i++)
if(a[i][j]>=0&&a[i][j]<=9)
s++;
///verific conditia de stergere
if(s==m)
{
///sterg coloana j
for(k=j+1;k<=n;k++)
for(i=1;i<=m;i++)
a[i][k-1]=a[i][k];
n=n-1; j--;
}
}
///afisarea de nota 10
int main()
{
int a[31][31],m,n,i,j,x,s,k;
cin>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
///parcurg pe linii
for(i=1;i<=m;i++)
{
///determin daca linia i contine 0
s=0;
for(j=1;j<=n;j++)
if(a[i][j]==0)
s++;
///verific conditia de stergere
if(s!=0)
{
///sterg linia i
for(k=i+1;k<=m;k++)
for(j=1;j<=n;j++)
a[k-1][j]=a[k][j];
m=m-1; i--;
}
}
///afisarea de nota 10
int main()
{
int a[31][31],m,n,i,j,ok,k,t;
cin>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
///parcurg pe linii
for(i=1; i<=m; i++)
{
///pentru linia i detremin liile care sunt egale cu ea
for(t=i+1; t<=m; t++)
{
ok=1;
for(j=1; j<=n; j++)
if(a[i][j]!=a[t][j])
ok=0;
///verific conditia de stergere
if(ok==1) ///liniile i si t sunt identice si voi sterge linia t
{
///sterg linia t
for(k=t+1; k<=m; k++)
for(j=1; j<=n; j++)
a[k-1][j]=a[k][j];
m=m-1;
t--;
}
}
}
///afisarea de nota 10
for(j=1;j<=n;j++)
cout<<a[1][j]<<” “;
for(i=2;i<=m;i++)
cout<<a[i][n]<<” “;
for(j=n-1;j>=1;j--)
cout<<a[m][j]<< “ “;
for(i=m-1;i>=2;i--)
cout<<a[i][1]<<” “;
If(m%2==0)
nr=m/2;
else nr=m/2+1;
for(k=1;k<=nr;k++)
{
for(j=1;j<=n;j++)
cout<<a[k][j]<<” “;
for(i=2;i<=m;i++)
cout<<a[i][n-k+1]<<” “;
for(j=n-1;j>=1;j--)
cout<<a[m-k+1][j]<< “ “;
for(i=m-1;i>=2;i--)
cout<<a[i][k]<<” “;
}
420.
#include <iostream>
int main()
{
int a[31][31],n,i,j,prim,d;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
///a
cout<<"Diagonala principala: ";
for(i=1;i<=n;i++)
cout<<a[i][i]<<" ";
cout<<endl;
///b
cout<<"Diagonala secundara: ";
for(i=1;i<=n;i++)
cout<<a[i][n-i+1]<<" ";
cout<<endl;
///c
cout<<"Diagonala principala in sens invers: ";
for(i=n;i>=1;i--)
cout<<a[i][i]<<" ";
cout<<endl;
cout<<"Diagonala secundara in sens invers: ";
for(i=n;i>=1;i--)
cout<<a[i][n-i+1]<<" ";
cout<<endl;
///d
cout<<"Numere prime de pe diagonala principala: ";
for(i=1;i<=n;i++)
{
prim=1;
for(d=2;d<=a[i][i]/2;d++)
if(a[i][i]%2==0)
prim=0;
if(prim==1)
cout<<a[i][i]<<" ";
}
///e
int maxi=a[1][1];
for(i=1;i<=n;i++)
{
if(maxi<a[i][i]) maxi=a[i][i];
if(maxi<a[i][n-i+1]) maxi=a[i][n-i+1];
}
cout<<"Maxi de pe ambele diag: "<<maxi<<endl;
///f
int x,y;
for(i=1;i<=n;i++)
{
x=a[i][i]; y=a[i][n-i+1];
///cmmdc prin scaderi repetate
while(x!=y)
if(x>y) x=x-y;
else y=y-x;
cout<<x<<" ";
}
return 0;
}
424.
#include <iostream>
int main()
{
int a[31][31],n,i,j,aux;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
{
aux=a[i][i];
a[i][i]=a[i][n-i+1];
a[i][n-i+1]=aux;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
425.
#include <iostream>
int main()
{
int a[31][31],n,i,j,s1=0,s2=0;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(j>i) s1=s1+a[i][j];
if(j<i) s2=s2+a[i][j];
}
if(s1>s2) cout<<s1;
else cout<<s2;
return 0;
}