Sunteți pe pagina 1din 9

43.

Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi de cel mult patru cifre fiecare. Sa se afişeze tabloul obţinut prin ştergerea
coloanei k.

#include <iostream>
using namespace std;
int main()
{
int a[31][31], i,j,m,n,k,nr=0,z;
cin>>m>>n>>k;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
for(j=n; j>=1; j--)
if(j==k){
for(z=j+1; z<=n; z++)
for(i=1; i<=m; i++)
a[i][z-1]=a[i][z];
n--;
}
for(i=1; i<=m; i++){
for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}

40. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi distincte de cel mult patru cifre fiecare. Să se afişeze tabloul obţinut prin
ştergerea liniei şi coloanei care memoreazã valoarea minimă.

#include <iostream>
using namespace std;
int main()
{
int a[31][31],l,c, i,j,m,n, min=10000;
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++)
if(a[i][j]<min){
min=a[i][j];
l=i;
c=j;
}
cout<<endl<<"Linia de sters:"<<l<<endl;
for (i=l;i<=m;i++)
for(j=1;j<=n;j++)
a[i][j]=a[i+1][j];
for(i=1;i<m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl<<"Coloana de sters:"<<c<<endl;
for(i=1;i<=m;i++)
for(j=c;j<n;j++)
a[i][j]=a[i][j+1];
for(i=1;i<m;i++)
{
for(j=1;j<n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}

63. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi de cel mult patru cifre fiecare. Să se modifice ordinea elementelor astfel
încât fiecare linie sa fie ordonată Crescător.

#include <iostream>
using namespace std;
int main()
{
int a[31][31], i,j,m,n,aux=0,k;
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++)
for(k=j+1;k<=n;k++)
if(a[i][j]>a[i][k]){
aux=a[i][j];
a[i][j]=a[i][k];
a[i][k]=aux;}
for(i=1; i<=m; i++){
for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
64. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi de cel mult patru cifre fiecare. Să se modifice ordinea elementelor astfel
încât fiecare coloana să fie ordonată crescător.

#include <iostream>
using namespace std;
int main()
{
int a[31][31], i,j,m,n,aux=0,k;
cin>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];

for(j=1; j<=n; j++)


for(i=1; i<m; i++)
for(k=i+1;k<=m;k++)
if(a[i][j]>a[k][j]){
aux=a[i][j];
a[i][j]=a[k][j];
a[k][j]=aux;}
for(i=1; i<=m; i++){
for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
65. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi de cel mult patru cifre fiecare. Să se modifice ordinea elementelor astfel
încât parcurgând matricea de sus în jos şi de la stânga la dreapta aceasta să conţină elementele în ordine
crescatoare.

#include <iostream>
using namespace std;
int main()
{
int a[31][31],k=1,o, i,j,m,n, v[100],b[100], aux;
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++){
v[k]=a[i][j];
k++;}
o=m*n;
for(i=1; i<o; i++)
for(k=i+1;k<=o;k++)
if(v[i]>v[k]){
aux=v[i];
v[i]=v[k];
v[k]=aux;}
k=1;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++){
a[i][j]=v[k];
k++;
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}

66. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi de cel mult patru cifre fiecare. Să se modifice ordinea elementelor astfel
încât aceasta sa conţină la început elementele pare apoi elementele impare.

#include <iostream>
using namespace std;
int main()
{
int a[31][31],k=1,o, i,j,m,n, v[100],b[100], t=0,p=0;
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++){
v[k]=a[i][j];
k++;}
o=m*n;
for (i=1; i<=o; i++)
if(v[i]%2==0){
t++;
b[t]=v[i];
}
p=t;
for (i=1; i<=o; i++)
if(v[i]%2==1){
p++;
b[p]=v[i];
}
for (i=1; i<=o; i++)
cout<<b[i]<<" ";
cout<<endl;
k=1;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++){
a[i][j]=b[k];
k++;
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
15. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi de cel mult patrucifre fiecare. Sa se afişeze indicii liniei/liniilor care au suma
componentelor cu valoare maxima.

#include <iostream>
using namespace std;
int main()
{
int a[31][31], i,j,m,n,s=0,max=0 ;
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++)
s=a[i][j]+s;
if(s>max)
max=s;
s=0;
}
for (i=1; i<=m; i++){
for(j=1; j<=n; j++)
s=a[i][j]+s;
if(s==max)
cout<<i<<" ";
s=0;
}
return 0;
}
16. Scrieţi un program care citeşte un tablou bidimensional A cu m linii şi n coloane (m<=30, n<=30) care
memorează numere întregi de cel mult patru cifre fiecare, Să se bordeze matricea cu linia m+l şi coloana
n+1, unde A[m+l,j] reprezintă suma elementelor de pe coloana j şi A[i, n+l] reprezintă suma elementelor
de pe linia i iar A[m+l][n+l] va memora suma tuturor componentelor.

#include <iostream>
using namespace std;
int main()
{
int a[31][31], i,j,m,n,s=0,max=0 ;
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++)
s=a[i][j]+s;
a[i][n+1]=s;
s=0;}
for(j=1; j<=n; j++){
for(i=1; i<=m; i++)
s=a[i][j]+s;
a[m+1][j]=s;
s=0;}
for(i=1; i<=m+1; i++){
for(j=1; j<=n+1; j++)
cout<<a[i][j]<<" ";
cout<<endl;}
return 0;
}
17. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, i1<=30) care
memorează numere întregi de cel mult patru cifre fiecare. Să se interschimbe valorile de pe linia p cu
valorile de pe linia q, unde p şi q se citesc de la tastatură.

#include <iostream>
using namespace std;
int main()
{
int a[31][31], i,j,m,n,aux=0 ,p,q;
cin>>m>>n;
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
cin>>a[i][j];
cin>>p>>q;
for(j=1; j<=n; j++){
aux=a[p][j];
a[p][j]=a[q][j];
a[q][j]=aux;}
for(i=1; i<=m; i++){
for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl;}
return 0;
}

18. Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30)
numerotate începând cu valoarea 1 care memorează numere întregi de cel mult patru cifre fiecare. Să se
afişeze numerele de ordine ale liniilor care au aceeaşi sumă.

#include <iostream>
using namespace std;
int main()
{
int a[31][31], i,j,m,n,s[100];
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[i]=0;
for(j=1;j<=n;j++)
s[i]=s[i]+a[i][j];
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if (s[i]==s[j] && i!=j)
cout<<"("<<i<<","<<j<<")"<<endl;
return 0;
}
V8

SII

4.

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int v[100],k,p,nr=0,n,nn,c,m,i,aux,j,ok=0;
cin>>n>>k;
nn=n;
while(n>0){
c=n%10;
n=n/10;
nr++;
v[nr]=c;
}
i = 1; j = nr;
while(i <= j) {
aux = v[i];
v[i] = v[j];
v[j] = aux;
i++;
j--;
}
for(i=1;i<=nr;i++)
if(v[i]==k){
p=i;
ok=1;
}
if(ok==1){
n=0;m=nr-1;
for(i=p+1;i<=nr;i++){
n=n+v[i]*pow(10,m);
m=m-1;}
for(i=1;i<=p;i++)
n=n+v[i]*pow(10,p-i);
cout<<n;}
else
cout<<nn;
return 0;
}

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