Sunteți pe pagina 1din 5

Scriei un program C/C++ care citete din fiierul text BAC.

TXT , cel mult 100 de numere naturale aflate pe o singura linie, formate din cel mult 9 cifre fiecare, separate prin spatii si dintre acestea le afieaz pe ecran doar pe acelea care au proprietatea de a fi palindrom. Daca nu se gsesc numere palindrom, se va afia pe ecran valoarea1. Un numr are proprietatea de a fi palindrom daca citit de la dreapta la stnga sau de la stnga la dreapta are aceeai valoare. De exemplu 1221 este palindrom, in timp ce 1210 nu este palindrom. Exemplu : daca din fiierul BAC.TXT se citesc numerele : 7341 , 8228 , 660 , 2 , 80 , 131 , atunci pe ecran se vor afia : 828 , 2 , 131. #include<iostream.h> int palindrom(int n) {int copie=n,oglindit,c; oglindit=0; {while(n!=0) c=n%10; oglindit=oglindit*10+c; n=n/10;} return (copie==oglindit);} void main() {int v[100],n,i,p; p=0; cout<<"n=";cin>>n; for(i=1;i<=n;i++) {cout<<"v["<<i<<"]=";cin>>v[i];} for(i=1;i<=n;i++) if(palindrom(v[i])) {cout<<v[i]; p=1;} if(p==0) cout<<"-1";} .Scriei un program C/C++ care citete de pe prima linie a fiierului text BAC.TXT trei numere naturalea, b, cformate din cel mult patru cifre fiecare, separate prin cate un spaiu si afieaz pe ecran cel mai mare divizor comun al acestora. De exemplu, daca din fiier se citesc numerele : 9 27 15, atunci se afieaz 3. #include<iostream.h> int cmmdc (int x,int y) {while (x!=y) if(x>y) else y=y-x; return x;} void main() {int a,b,c,d; fstream("bac.txt";ios::in); f>>a>>b>>c; f.close; d=cmmdc(a,b); cout<<cmmdc(c,d);}

Scriei un program care verifica daca un numr natural k(1<k<100000) citit de la tastatura este prim. Programul va afia pe ecran mesajul DA sau mesajul NU; #include<iostream.h> int prim(int n) {int prim=1; for(int d=2;d<=n/2;d++) if(n%d==0) prim=0; if(prim) return 1; else return 0;} void main() {int n; cout<<"n=";cin>>n; if(prim(n)) cout<<"da"; else cout<<"nu";} S se scrie un program care s calculeze i s afieze pe ecran produsul cifrelor pare i suma cifrelor impare a unui numr natural n citit de la tastatur. #include<iostream.h> unsigned int n, s, p=1, c; void main() { cin>>n; while(n) { c=n%10; if(c%2==0) p=p*c; else s=s+c; n=n/10; } cout<< p <<" "<< s; } Se afieaz pe ecran primele n numere naturale astfel: pe prima linie, in ordine cresctoare, iar pe urmtoarea linie, in ordine descresctoare. Numrul n se citete de la tastatura. Limbajul C/C++ #include<iostream.h> void main() { int i,n; cout<< ;cinn=>.n;

for(I=1;i<=n;i++) cout<<i<<. ; cout<<endl; for(i=n;i>=1;i--) cout<<i<< ; } Se afieaz, pe ecran, cifra minim a unui numr natural nenul a. Numrul a se citete de la tastatur. Limbajul C/C++ #include<iostream.h> void main() {unsigned int a,min=9,c; cout<< ;cin a= >>a; do {c=a%10; if(c<min) min=c; a=a/10; }while(a!=0); cout<< Cifra minima=<<min<<endl; } Se afieaz, pe ecran, cifra minim a unui numr natural nenul a. Numrul a se citete de la tastatur. #include<iostream.h> void main() {unsigned int a,min=9,c; cout<< ;cin a= >>a; do {c=a%10; if(c<min) min=c; a=a/10; }while(a!=0); cout<< Cifra minima= <<min<<endl;

Se citeste un numar natural cu cel mult 4 cifre. Sa se calculeze cel mai mic multiplu par al numarului obtinut din prima si ultima cifra a numarului citit. Ex. pentru 1265 se obtine 30 (2*15) #include<iostream.h> int main() { int n,p,u; cin>>n; u=n%10; while(n>9) n=n/10; p=n; cout<<(p*10+u)*2; return 0;

} Se citeste un numar natural cu cel mult 9 cifre. Sa se determine de cate ori apare ultima cifra in numarul citit. #include<iostream.h> int main() { long n,k=0,c; cin>>n; c=n%10; while(n) { if(n%10==c) k++; n=n/10; } cout<<k; return 0; }

Se citeste un numar natural n. Sa se calculeze si sa se afiseze rasturnatul (oglinditul) lui n #include<iostream> using namespace std; int main() { int n,r; r=0; cout<<"n="; cin>>n; while(n>0) { r=r*10+n%10; n=n/10; } cout<<"rasturnatul este "<<r; return 0; } Se citeste un numar natural n avand numar impar de cifre. Sa se elimine din numarul n cifra din mijloc si sa se afiseze numarul rezultat. #include<iostream> using namespace std; int main() { int n,n1,p,c,i; cout<<"n="; cin>>n; n1=n; c=0; while(n>0) { c++; n=n/10; } p=1; for(i=1;i<=c/2;i++) p=p*10; n=n1/(p*10)*p+n1%p; cout<<n; return 0; }

Sa se afiseze numerele mai mici sau egale cu n care au proprietatea sa atat ele cat si rasturnatul lor sunt numere prime. Exemplu: 13 este prim si la fel 31.

#include<iostream> using namespace std; int main() { int n, x, y,p,d,r; cout<<"n="; cin>>n; for(x=2;x<=n;x++) { p=1; for(d=2;d<=x/2;d++) if(x%d==0) p=0; if(p==1) { r=0; y=x; while(y>0) { r=r*10+y%10; y=y/10; } for(d=2;d<=r/2;d++) if(r%d==0) p=0; if(p==1) cout<<x<<" "; } } return 0; }