Se citesc de la tastatură mai multe triplete de numere întregi (a,b,c) care se scriu într-un fişier alfa.txt, câte o tripletă pe fiecare rând. Se citesc apoi din fişier aceste triplete de numere şi se analizează dacă ele reprezintă laturile unui triunghi şi se scrie pe un rând, în fişierul beta.txt, aria triunghiului, dacă ele reprezintă laturile unui triunghi, şi 0 dacă nu reprezintă laturile unui triunghi. Afişaţi apoi pe ecran, pe câte un rând, informații despre triunghiurile găsite: dimensiunile laturilor şi aria. 14
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main() {
ifstream in(„alfa.txt”);
ofstream out(„beta.txt”);
int a, b, c;
double p, aria;
while (in >> a >> b >> c) {
if (a + b > c && a + c > b && b + c > a) { // verificăm dacă sunt laturile unui triunghi
p = (a + b + c) / 2.0; // calculăm semiperimetrul
aria = sqrt(p * (p – a) * (p – b) * (p – c)); // calculăm aria
out << aria << ‘\n’; // scriem aria în fișierul beta.txt
cout << „Triunghi cu laturile ” << a << „, ” << b << „, ” << c << ” si aria ” << aria << ‘\n’;
} else { // nu sunt laturile unui triunghi
out << 0 << ‘\n’; // scriem 0 în fișierul beta.txt
cout << „Nu sunt laturile unui triunghi: ” << a << „, ” << b << „, ” << c << ‘\n’;
}
}
in.close();
out.close();
return 0;
}
Explicații:
- Începem prin a deschide fișierul alfa.txt în modul de citire (ifstream) și fișierul beta.txt în modul de scriere (ofstream).
- Citim fiecare triplet de numere a, b și c din fișierul alfa.txt folosind operatorul >>.
- Verificăm dacă cele trei numere reprezintă laturile unui triunghi folosind formula: a + b > c && a + c > b && b + c > a.
- Dacă cele trei numere sunt laturile unui triunghi, calculăm aria folosind formula lui Heron și o scriem în fișierul beta.txt. În caz contrar, scriem 0 în fișierul beta.txt.
- Afișăm informațiile despre triunghi pe ecran folosind cout.
- La final, închidem fișierele.