Documente Academic
Documente Profesional
Documente Cultură
h> void main(void) { // declaram variabilele pe care le vom utiliza in program int a, b, i, c, r, min; cout<<Dati primul numar ;cin>>a; cout<<Dati al doilea numar ;cin>>b; getch(); if( a != 0 && b != 0 ) if( a < b ) min = a; else min = b; c = 1; for(i = 1; i <= min; i++ ) if ( a % i == 0 && b % i == 0 ) c = i; cout<<C.m.m.m.c este = <<(a * b) / c< cout<<<<<Apasati tasta ENTER pentru terminarea programului; getch(); }
Algoritmii elementari sunt algoritmi simpli care ne ajuta n rezolvarea problemelor Exemple de algoritmi elementari: -interschimbare -determinarea minimului/maximului -prelucrarea cifrelor unui numar -calcularea celui mai mare divizor comun -testarea unui numar prim -conversii ntre sisteme de numeratii -generarea sirurilor recurente Prin interschimbare ntelegem ca 2 variabile ai si b si schimba reciproc valorile initiale prin intermediul unei variabile auxiliare. Ex a=12 b=-3 aux=a a=b b=aux Pseudocod nceput Citeste a,b aux=a a=b b=aux Scrie a,b Sfrsit
aux<- a a<- b b<-aux Rezolvare: start citeste a, b aux<-a a<-b b<-aux scrie a,b stop
O variabila preia continutul primei componente a vectorului (max=v[0] sau mi n=v[0]), apoi o compara pe rind cu celelalte componente ale vectorului, iar in functie de conditia care se pune in program variabila va retine componenta cu valoare maxima sau componente cu valoare minima. Pentru m axim : max=v[0] ; if(v[i]>max) max=v[i] Pentrumi ni m ; min=v[0] ; if(v[i]<min) min=v[i] Exemplu. Se introduc valorile componentelor unui vector si se afiseaza valoarea maxima si valoarea minima. #include<iostream.h> #include<conio.h> void main() {int max,min,n,i,v[100]; cout<<"Introduceti numarul de elemente n="; cin>>n; for(i=1;i<=n;i++) {cout<<"v["<<i<<"]=";cin>>v[i];}; max=v[0]; for(i=1;i<=n;i++) if(v[i]>max) max=v[i] ; cout<<"Valoarea maxima citita este"<<" "<<max<<endl; min=v[0]; for(i=1;i<=n;i++) if(v[i]<min) min=v[i]; cout<<"Valoarea minima citita este"<<" "<<min Algoritm pentru prelucrarea cifrelor unui numar
{ int s; long d,x; cout<<"x=";cin>>x; d=x; s=0; while(d) { s=s+d%10; d=d/10; } cout<<"s="<<s; }
Algoritmul: -citim a si b; -daca a*b=0 scrie a+b; -altfel cat timp a!=b executa Daca a>b atunci scade din a pe b Altfel scade din b pe a -afiseaza a. Pseudocodul start citeste a,b daca a*b=0 atunci scrie a+b altfel cat timp a!=b executa daca a>b atuncia=a-b altfel b=b-a scrie a stop
Observatii 1.Numarul se modifica.Daca dorim sa folosim numarul dupa calculul Cmmdc atunci trebuie sa le facem o copie:x=a si y=b. 2.Algoritmul este lent din punct de vedere al timpului.
cin>>n; ok=1; if(n==0||n==1) ok=0; for(i=2; i<=n/2; i++) if(u%i==0) ok=0; if(ok==1) cout<<nr este prim; else cout<<nr nu este prim;
#include<iostream.h> int main () {int n, nr=0,m; cout<<"numarul este:"; cin>>n; for(int d=2;d<=n/2;d++) if(n%d==0)nr++; cout<<"Numarul de divizori ai numarului "<<n<<" este "<<nr+2; cin>>m;