palindrom

Se citeste un numar de la tastatura.Sa se verifice daca el este palindrom Un numar este palindrom daca citit de la dreapta la stanga este egal cu numarul citit de la stanga la dreapta ex:121 #include <iostream> using namespace std; int main() { int copie,oglindit,c,n; oglindit=0; cout<<“n=”;cin>>n; copie=n; while(n!=0) { c=n%10; oglindit=oglindit*10+c; n=n/10; } if(copie==oglindit) … Read more

tabel

TABEL IN HTML Pentru a realiza un tabel se folosesc 4 etichete( tag-uri) 1) table : marcheaza limitele tabelului; 2) tr : delimiteaza o linie a tabelului; 3) th : delimiteaza o celula a capului de tabel; 4) td : delimiteaza celulele de date ale tabelului Construirea tabelului se realizeaza rand cu rand, descriind celulele … Read more

PERMUTARI ITERATIV

PERMUTARI ITERATIV metoda backtarcking PERMUTĂRI. Se citeşte un număr natural n. Să se genereze permutările mulţimi {1, 2, …, n}   #include<iostream.h>#include<conio.h>#include<math.h>int st[20],n,k,p; void init(){st[k]=0;} int succesor(){if (st[k]<n){st[k]++;return 1;}else return 0;} int valid(){for(int i=1;i<k;i++)if(st[i]==st[k]) return 0;return 1;} int sol(){return (k==n);} void tipar(){for(int i=1;i<=n;i++) cout<<st[i];cout<<endl;} void bkt(){int as;k=1;init();while(k>0){do {} while ((as=succesor()) && !valid());if (as)if (sol()) tipar();else … Read more

cmmdc recursiv

Sa se afle cmmdc pentru 2 numere utilizand varianta recursiva #include<iostream.h>int a,b; int cmmdc(int a,int b){if(a==b) return a;else if (a>b) return cmmdc(a-b,b); else return cmmdc(a,b-a);} void main(){cout<<“a=”;cin>>a;cout<<“b=”;cin>>b;cout<<“cmmdc: “<<cmmdc(a,b);} {module orizontal600}

sirul lui Fibonacci recursiv

Sirul lui Fibonacci Se citeste n.Sa se calculeze termenul de ordin n al sirului lui Fibonacci in varianta recursiva #include<iostream.h>int n; int f(int n){if(n==0) return 0;else if(n==1) return 1; else return f(n-1)+f(n-2);} void main(){cout<<“n=”;cin>>n;cout<<“termenul de ordin “<<n<<” este: “<<f(n);} {module orizontal600}

suma cifrelor recursiv

Sa se scrie o functie recursiva pentru a calcula suma cifrelor unui numar #include <iostream.h>int n; int s(int n){if(n==0) return 0;else return n%10 + s(n/10);} void main(){cout<<“n=”;cin>>n;cout<<“suma cifrelor: “<<s(n);} {module orizontal600}

sortare rapida (quick sort)

QUICK SORT Sa se ordoneze crescator un vector v, folosind metoda de sortare rapida (quick sort). Etapele de rezolvare ale algoritmului QUICK SORT: -se apeleaza functia quick cu limita inferioara li=1 si limita superioara ls=n -functia poz realizeaza mutarea elementului de pe prima pozitie exact pe pozitia k ce o va ocupa acesta in vectorul … Read more

maximul unui vector

Se citeste un vector cu n componente numere intregi.Se cere sa se afiseze valoarea maxima folosind metoda divide et impera #include<iostream.h>int v[100],n; int max(int i,int j){int a,b;if(i==j) return v[i];else { a=max(i,(i+j)/2); b=max((i+j)/2+1,j); if(a>b) return a; else return b; }} void main(){cout<<“n=”;cin>>n;for(int i=0;i<n;i++){ cout<<“v[“<<i<<“]=”; cin>>v[i]; }cout<<“maximul este:”<<max(0,n-1);} {joscommentenable}

cautare binara

Cautare binara Se citeste un vector cu n componente numere intregi,ordonate crescator si o valoare intreaga x.Sa se decida daca x se gaseste sau nu printre componentele vectorului #include<iostream.h> int v[100],n,x; void caut(int i,int j) { if(x==v[(i+j)/2]) cout<<“gasit”<<” “<<“indice “<<(i+j)/2; else if(i<j) if(x<v[(i+j)/2]) caut(i,(i+j)/2 -1); else caut((i+j)/2+1,j); else cout<<“nu s-a gasit”; } void main() { … Read more