algoritmi elementari c++

8
 Algoritmi elementari  Să se scrie un program care determină cel mai mic multiplu comun a două numere. #include<iostream.h> #include<conio.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 <= mi n; 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();  } 1

Upload: berende-monalisa

Post on 10-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 1/8

 Algoritmi elementari 

 Să se scrie un program care determină cel mai mic multiplu comun a douănumere.

#include<iostream.h>#include<conio.h>void main(void){ 

 // declaram variabilele pe care le vom utiliza in programint 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(); }

1

Page 2: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 2/8

 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 reciprocvalorile initiale prin intermediul unei variabile auxiliare.

 Ex a=12 b=-3aux=aa=bb=aux

 Pseudocod 

 Început Citeste a,b

aux=aa=bb=auxScrie a,bSfârsit 

2

Page 3: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 3/8

 Algoritm de interschimbare

Formula

 

aux<- a

a<- b

b<-aux 

 Rezolvare:

start 

citeste a, b

aux<-a

a<-b

b<-aux 

scrie a,b

stop

3

Page 4: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 4/8

 Algoritm de determinarea min/max 

 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 

 Suma cifrelor unui numar 

#include<iostream.h>void main()

4

Page 5: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 5/8

{ 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;

 }

5

Page 6: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 6/8

 Algoritm pentru determinarea cmmdc

 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,bdaca a*b=0 atunci scrie a+baltfel cat timp a!=b executadaca a>b atuncia=a-baltfel b=b-a

 scrie a stop

Observatii 

1.Numarul se modifica.Daca dorim sa folosim numarul dupa calculul Cmmdcatunci trebuie sa le facem o copie:x=a si y=b.

2.Algoritmul este lent din punct de vedere al timpului.

 Algoritm pentru determinarea unui numar prim

6

Page 7: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 7/8

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”;

elsecout<<”nr nu este prim”;

 Algoritm pentru determinarea divizorilor 

7

Page 8: Algoritmi Elementari C++

7/22/2019 Algoritmi Elementari C++

http://slidepdf.com/reader/full/algoritmi-elementari-c 8/8

#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;

8