online: 12; azi: 332; total: 50787 Manual clasa a ix a - Implementarea algoritmilor - Instructiuni de control

Probleme Rezolvate



Manual clasa a IX a

Implementarea algoritmilor

Instructiuni de control

Să se determine toate triunghiurile diferite care au lungimea laturilor numere naturale şi perimetrul p (p se citeşte de la tastatură).
# include <iostream>
using namespace std;
int main () {
int p;
cout << "Introduceti perimetrul: " ;
cin >> p;
cout << "Triunghiurile cu perimetrul " << p << " sunt: " << endl;
for ( int a = 1 ; a <= p - 2 ; a++) {
for ( int b = 1 ; b <= p - a - 1 ; b++) {
int c = p - a - b;
if (a + b > c && a + c > b && b + c > a) {
cout << "(" << a << ", " << b << ", " << c << ")" << endl;
}
}
}
return 0 ;
}

Pentru a determina toate triunghiurile cu perimetrul p, putem folosi o triplă buclă for pentru a parcurge toate posibilele combinații de lungimi ale laturilor. Vom folosi următoarea logică:
Observație: Pentru acest algoritm, există o redundanță în afișarea triunghiurilor, deoarece fiecare triunghi este afișat de trei ori (o dată pentru fiecare combinație de lungimi ale laturilor). Pentru a evita acest lucru, am putea introduce o condiție suplimentară pentru a afișa fiecare triunghi doar o dată, dar am ales să nu facem asta în acest exemplu deoarece algoritmul rămâne eficient și clar în această formă.