Maximul dintre 3 numere
Enunţ:
Să se determine valoarea maxima dintre trei numere memorate în variabilele a, b şi c.
Rezolvare:
Tinând cont de exemplul anterior o modalitate simplă de rezolvare ar consta în compararea două câte două valorile variabilelor a, b, şi c. Se compară, spre exemplu, prima dată valoarea variabilei a cu valoarea variabilei b şi presupunem că relaţia a>b este adevărată. Dacă menţinem adevărată această presupunere, atunci valoarea maximă obţinută până acum este a. Mai rămâne să comparăm valoarea variabilei c faţă de valoareaa. În această situaţie există două cazuri şi anume:
Cazul 1: reprezentat în următorul desen:
rezultă că valoarea variabilei c este mai mare decât valoarea variabilei a, deci valoarea maximă dintre cele trei numere este valoarea lui c;
Cazul 2: reprezentat în următorul desen:
când valoarea variabilei c este mai mică decât valoarea variabilei a (nu contează în acest moment raportul dintre variabilele b şi c), deci rezultă căvaloarea maximă dintre cele trei numere este valoarea lui a.
Algoritm în pseudocod
citeste a
citeste b
citeste c
daca a>b atunci
| daca c>a atunci
| | max=c
| | altfel
| | max=a
| |_▄
| altfel
| daca c>b atunci
| | max=c;
| | altfel
| | max=b
| |_▄
|_▄
scrie max
Program în Code Bloks
#include<iostream>
using namespace std;
int main()
Rezultat asteptat
Dar, acest mod de determinarea valorii maxime este greu de aplicat atunci când numărul variabilelor creşte la mai mult de trei. Pentru a obţine un algoritm simplu de aplicat pentru determinarea valorii maxime dintre oricâte variabile se va proceda astfel:
· Pas 1 : Compar prima dată valoarea variabilei a cu valoarea variabilei b, şi dacă valoarea lui a este mai mare decât valoarea lui b interschimb valorile celor două variabile, obţinând în acest fel valoarea maximă dintre primele două variabile în variabila b.
· Pas 2: Compar de aceasta data valoarea variabilei b cu valoarea variabilei c, şi dacă valoarea variabilei b este mai mare decât valoare lui cinterschimb valorile celor două variabile, obţinând astfel valoarea maximă dintre cele trei variabile în variabila c.
· Pas 3: afişez valoarea variabilei c ca fiind valoarea maxima dintre a,b si c.
Algoritm în pseudocod
intregi a,b
citeste a
citeste b
citeste c
daca a>b atunci
| aux=a
| a=b
| b=aux
|_▄
daca b>c atunci
| aux=b
| b=c
| c=aux
|_▄
scrie max
Program în Code Blocks
#include<iostream>
using namespace std;
int main()
{int a,b,c,aux;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
if(a>b)
{ aux=a;
a=b;
b=aux;
};
if(b>c)
{aux=b;
b=c;
c=aux;
}
cout<<"Valoarea maxima este "<<c;
return 0;
}
Rezultat afişat