Sunteți pe pagina 1din 11

Prelucrea componentelor.

Construirea tablourilor
Prelucrarea presupune parcurgerea tuturor componentelor i
verificarea unor proprieti.
Construirea presupune pornirea de la un vector fr nici o
component(vector viid) i determinarea componentelor una cte una
prin atribuiri.
k=0;
for(i=1;i<=n;i++)
{aux=a[i];
k++;
a[k]=aux;}

1. S se afieze toare numerele de tip palindrom din vector.


Ex. n=3 1001 21 393 se va afia 1001 393

#include<iostream> {aux=a[i];
using namespace std; inv=0;
int n,i,a[1000],inv; while(aux)
int main() {inv=inv*10+aux%10;
{cin>>n; aux/=10;}
for(i=1;i<=n;i++) if(a[i]==inv)
cin>>a[i]; cout<<inv<< ;
for(i=1;i<=n;i++) } return 0; }
2. S se construieasc un vector cu numerele prime i s se afieze
numrul de component i compontele vectorului.

Ex. n= 5 se va afia 3
2 50 29 393 17 2 29 17

#include<iostream>
#include<cmath>
using namespace std;
int n,i,a[1000],k,aux,prim,d,x[1000];
int main()
{cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
k=0; prim=0;
for(i=1;i<=n;i++) if(prim
{aux=a[i]; {k++;
prim=1; x[k]=a[i];
if(aux<2) }}
prim=0; cout<<k<<\n;
else for(i=1;i<=k;i++)
f(d=2;d<=sqrt(aux);d++) cout<<x[i]<< ;
if(aux%d==0) return 0; }
3. S se construiasc un vector care s conin numerele ptrate perfecte
cuprinse ntre a i b.
Ex. a=23 b=100 se va afia 25 36 49 64 81 100

#include<iostream>
#include<cmath>
using namespace std;
int n,i,a,b,x[1000];
int main()
{cin>>a>>b;
n=0;
for(i=a;i<=b;i++)
if(sqrt(i)==int(sqrt(i)))
{n++;
x[n]=i;}}
for(i=1;i<=n;i++)
cout<<x[i]<< ;
return 0; }
4. S se afieze componentele unui vector care au suma cifrelor par.
Ex. n=5 123 11111 121 2111 89 se va afia 123 121

#include<iostream>
using namespace std;
int n,i,a[1000],aux,s;
int main()
{cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n;i++)
{aux=a[i];
s=0;
while(aux)
{s=s+aux%10;
aux/=10;}
if(s%2==0)
cout<<a[i]<< ;
return 0; }
5. S se afieze componentele unui vector care sunt cuburi perfecte.
Ex. n=5 125 49 120 8 89 se va afia 125 8

#include<iostream>
using namespace std;
int n,i,v[1000],aux;
int main()
{cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
{aux=0;
while(aux*aux*aux<v[i])
aux++;
if(aux*aux*aux==v[i])
cout<<v[i]<< ;
}
return 0;
}
6. S se construiasc un vector cu primele n numere ptrate perfecte.
Ex. n=6 se afieaz 1 4 9 16 25 36

#include<iostream>
using namespace std;
int n,i,a[1000];
int main()
{cin>>n;
for(i=1;i<=n;i++)
x[i]=i*i;
for(i=1;i<=n;i++)
cout<<x[i]<< ;
return 0; }

7. S se construiasc un vector cu primele n numere ptrate perfecte.


Ex. n=6 se afieaz 36 25 16 9 4 1

#include<iostream> x[i]=(n+1-i)*(n+1-i)
using namespace std; for(i=1;i<=n;i++)
int n,i,a[1000]; cout<<x[i]<< ;
int main() return 0;
{cin>>n; }
for(i=1;i<=n;i++)
8. Se d un numr n. S se construiasc un vector cu cifrele numrului.
S se afieze fiecare component pe o linie.
Ex. n=2008 se va afia 8
0
0
#include<iostream> 2
using namespace std;
int n,i,v[1000],aux;
int main()
{cin>>n;
aux=n;
k=0;
if(n==0)
{k++;
v[k]=0;}
else
while(aux)
{k++;
v[k]=aux%10;
aux/=10;}
for(i=1;i<=k;i++)
cout<<v[k]<<\n ;
return 0;}
9. S se construiasc un vector cu numerele distincte din cele n numere
citite i apoi s se afieze vectorul
Ex. n=6 1 4 1 9 4 4 se afieaz 1 4 9

#include<iostream>
using namespace std;
int n,k,x[1000],y[1000],ok,i,j;
int main()
{cin>>n;
for(i=1;i<=n;i++)
cin>>x[i];
k=0;
for(i=1;i<=n;i++)
ok=1;
for(j=1;j<=k;j++)
if(x[i]==y[j])
{ok=0;
break;}
if(ok==1)
{k++;
y[k]=x[i];} }
for(i=1;i<=k;i++)
cout<<y[i]<< ; return 0; }
10. Se d un numr n. S se contruiasc un vector cu divizorii nr.
Ex. 12 1 2 3 4 6 12

#include<iostream>
using namespace std;
int n,i,k,x[1000],d;
int main()
{cin>>n;
for(d=1;d<=n/2;d++)
if(n%d==0)
{k++;
x[k]=d;
}
for(i=1;i<=k;i++)
cout<<x[i]<< ;
return 0;
}
11. S se construiasc un vector cu divizorii primi ai lui n.
Ex. 110 se va afia 2 5 11

#include<iostream>
#include<cmath>
using namespace std;
int n,i,k,x[1000],d,j,prim;
int main()
{cin>>n;
for(d=2;d<=n/2;d++)
if(n%d==0)
{prim=1;
for(j=2;j<=sqrt(d);j++)
if(d%j==0)
{prim=0;
break;}
if(prim)
{k++;
x[k]=d;
}}
for(i=1;i<=k;i++)
cout<<x[i]<<' ';
return 0; }
12. S se construiasc un vector cu toate numerele ce se pot obine
eliminnd o cifr din nr. n.
Ex. 1234 123 124 134 234

#include<iostream>
using namespace std;
int n,k,i,j,c[1000],x[1000];
int main()
{cin>>n;
k=0;
while(n>0)
{k++;
c[k]=n%10;
n/=10;}
for(j=1;j<=k;j++)
{x[j]=0;
for(i=k;i>0;i--)
if(i!=j)
x[j]=x[j]*10+c[i];}
for(i=1;i<=k;i++)
cout<<x[i]<<' ';
return 0;
}

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