Podsumowanie ile było możliwych trójkątów i ile było trójkątów prostokątnych

0

Witam,

mam do stworzenia program sprawdzający, czy z odcinków o długościach wprowadzonych przez użytkownika z klawiatury można zbudować trójkąt. Wprowadzamy pięć kolejnych trójek liczb i po każdym wprowadzeniu sprawdzane są warunki czy powstanie trójkąt oraz czy trójkąt jest prostokątny. Z tą częścią sobie poradziłem. Natomiast mam kłopot ze sprawdzeniem na samym końcu ile było możliwych trójkątów (z podanych wcześniej wartości) oraz ile z nich było trójkątami prostokątnymi.

Poniżej jest kod. Proszę o wyrozumiałość i pomoc.

#include <iostream>
#include <math.h>
#include <windows.h>
using namespace std;
 
int a, b, c;
 
int main()
{
    cout<<"podejscie 1"<<endl;
    cout << "podaj 3 rozne liczby a komputer powie czy powstanie z nich trojkat"<<endl;
   cout<<"podaj 1 liczbe\n"<<endl;
     cin>>a;
 
    cout<<"podaj 2 liczbe\n"<<endl;
     cin>>b;
    cout<<"podaj 3 liczbe\n"<<endl;
     cin>>c;
 
  if (a+b>c && b+c>a && a+c>b)
        cout<< "mozna zbudowac trojkat" <<endl;
       
  else cout << "nie mozna zbudowac trojkata\n" <<endl;
 
  if (a+b>c && b+c>a && a+c>b)
 
    if (c*c==a*a+b*b)
       cout<< "powstaje trojkat prostokatny"<<endl;
   else
    cout <<"nie powstanie trojkat prostokatny"<<endl;
Sleep(5000);
system("cls");
 
    cout<<"podejscie 2"<<endl;
    cout << "podaj 3 rozne liczby a komputer powie czy powstanie z nich trojkat"<<endl;
   cout<<"podaj 1 liczbe\n"<<endl;
     cin>>a;
 
    cout<<"podaj 2 liczbe\n"<<endl;
     cin>>b;
    cout<<"podaj 3 liczbe\n"<<endl;
     cin>>c;
 
  if (a+b>c && b+c>a && a+c>b) cout<< "mozna zbudowac trojkat"<<endl;
  else cout << "nie mozna zbudowac trojkata\n" <<endl;
 
  if (a+b>c && b+c>a && a+c>b)
 
    if (c*c==a*a+b*b)
       cout<< "powstaje trojkat prostokatny"<<endl;
   else
    cout <<"nie powstanie trojkat prostokatny"<<endl;
Sleep(5000);
system("cls");
 
    cout<<"podejscie 3"<<endl;
    cout << "podaj 3 rozne liczby a komputer powie czy powstanie z nich trojkat"<<endl;
   cout<<"podaj 1 liczbe\n"<<endl;
     cin>>a;
 
    cout<<"podaj 2 liczbe\n"<<endl;
     cin>>b;
    cout<<"podaj 3 liczbe\n"<<endl;
     cin>>c;
 
  if (a+b>c && b+c>a && a+c>b) cout<< "mozna zbudowac trojkat"<<endl;
  else cout << "nie mozna zbudowac trojkata\n" <<endl;
 
  if (a+b>c && b+c>a && a+c>b)
 
    if (c*c==a*a+b*b)
       cout<< "powstaje trojkat prostokatny"<<endl;
   else
    cout <<"nie powstanie trojkat prostokatny"<<endl;
    Sleep(5000);
system("cls");
 
    cout<<"podejscie 4"<<endl;
    cout << "podaj 3 rozne liczby a komputer powie czy powstanie z nich trojkat"<<endl;
   cout<<"podaj 1 liczbe\n"<<endl;
     cin>>a;
 
    cout<<"podaj 2 liczbe\n"<<endl;
     cin>>b;
    cout<<"podaj 3 liczbe\n"<<endl;
     cin>>c;
 
  if (a+b>c && b+c>a && a+c>b) cout<< "mozna zbudowac trojkat"<<endl;
  else cout << "nie mozna zbudowac trojkata\n" <<endl;
 
  if (a+b>c && b+c>a && a+c>b)
 
    if (c*c==a*a+b*b)
       cout<< "powstaje trojkat prostokatny"<<endl;
   else
    cout <<"nie powstanie trojkat prostokatny"<<endl;
 
Sleep(5000);
system("cls");
 
    cout<<"podejscie 5"<<endl;
    cout << "podaj 3 rozne liczby a komputer powie czy powstanie z nich trojkat"<<endl;
   cout<<"podaj 1 liczbe\n"<<endl;
     cin>>a;
 
    cout<<"podaj 2 liczbe\n"<<endl;
     cin>>b;
    cout<<"podaj 3 liczbe\n"<<endl;
     cin>>c;
 
  if (a+b>c && b+c>a && a+c>b) cout<< "mozna zbudowac trojkat"<<endl;
  else cout << "nie mozna zbudowac trojkata\n" <<endl;
 
  if (a+b>c && b+c>a && a+c>b)
 
    if (c*c==a*a+b*b)
       cout<< "powstaje trojkat prostokatny"<<endl;
   else
    cout <<"nie powstanie trojkat prostokatny"<<endl;
Sleep(5000);
system("cls");
 
    cout<<"podsumomwanie"<<endl;
  // tu program powinien zrobić podsumowanie ile trójkątów powstało oraz ile z nich jest prostokątnych
 
 
 
 
 
    return EXIT_SUCCESS;
}

4

Moja rada: - zacznij od powtórzenia matematyki z podstawówki aby przynajmniej zacząć odróżniać liczby od cyfr.

0

Racja, dziękuję za zwrócenie na to uwagi - poprawione. Jeśli chodzi o kod, masz jakieś porady?

2
  1. nie używaj zmiennych globalnych
  2. podziel sobie ten kod na funkcje. Np. is_triangle() i is_right_triangle() (na 6 możesz zrobić jedną, zwracającą enum triangle_type)
  3. wczytuj po jednym trójkącie i zapisuj sobie wynik funkcji do zmiennej, aby go podsumować.
  4. zawsze używaj klamer dla petli i instrukcji warunkowych. W przyszłości możesz to zmienić, na chwilę obecną mylisz tylko siebie i innych
  5. formatuj kod, jest straszliwie nieczytelny. Jak nie umiesz - http://format.krzaq.cc
2

Google: trójki pitagorejskie

1 użytkowników online, w tym zalogowanych: 0, gości: 1