• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Funkcja sprawdzająca rodzaj trójkąta na podstawie podanych boków

Object Storage Arubacloud
0 głosów
299 wizyt
pytanie zadane 28 grudnia 2021 w C i C++ przez MKolaj15 Bywalec (2,270 p.)
zamknięte 29 grudnia 2021 przez MKolaj15

Witam, muszę napisać metodę mojej struktury przechowującej obiekty z długościami boków trójkąta, która będzie sprawdzała, czy jest to trójkąt prostokątny, rozwartokątny, czy też ostrokątny. Oto mój kod:


#include <iostream>
#include <string>


struct Trojkat {

    int najwieksza_kw()
    {
        int n = a;
        if(n > b) n = b;
        if(n > c) n = c;

        return n*n;
    }

    int pozostale_kw()
    {
        int n = a;
        int p = b * b + c * c;
        if(n > bok_b){
                n = b;
                p = a * a + c * c; 
        }
        if(n > bok_c){
                n = c;
                p = a * a + b * b;
        }       

        return p;
    }

    void sprawdz()
    {
        if((bok_a >= bok_b + bok_c) || (bok_c >= bok_b + bok_a) || (bok_c >= bok_a + bok_c))
        {
                std::cout<<"Nie mozna stworzyc takiego trojkata"<<std::endl;
        }
        else if(najwieksza_kw() > pozostale_kw())
        {
                std::cout<<"Trojkat jest rozwartokatny"<<std::endl;
        }
        else if(najwieksza_kw() < pozostale_kw())
        {
                std::cout<<"Trojkat jest ostrokatny"<<std::endl;
        }
        else
        {
                std::cout<<"Trojkat jest prostokatny"<<std::endl;
        }

    }

};

auto main() -> int
{
        Trojkat t1 = {2,3,6};
        Trojkat t2 = {5,4,3};
        Trojkat t3 = {2,4,1};
        Trojkat t4 = {4,3,6};

        t1.sprawdz();
        t2.sprawdz();
        t3.sprawdz();
        t4.sprawdz();

return 0;
}

Stworzyłem dwie pomocnicze funkcje. Pierwsza zwraca kwadrat najdłuższego boku, druga sumę kwadratów dwóch pozostałych. Problem w tym, że dla stworzonych obiektów program wypisuje taki wynik:

Nie mozna stworzyc takiego trojkata
Trojkat jest ostrokatny
Trojkat jest ostrokatny
Trojkat jest ostrokatny

Niestety nie jest on poprawny. Czy ktoś pomógłby mi znaleźć błąd w moim kodzie i podpowiedzieć jak go poprawić? Z góry dzięki!

komentarz zamknięcia: uzyskałem odpowiedź
1
komentarz 28 grudnia 2021 przez Oscar Nałogowiec (29,290 p.)
W liniach 10 i 11 masz zły warunek. Wychodzi najmniejszy bok.
komentarz 29 grudnia 2021 przez MKolaj15 Bywalec (2,270 p.)

No tak, dzięki głupi błąd laugh

komentarz 29 grudnia 2021 przez TOM_CPP Pasjonat (22,640 p.)

@MKolaj15, Twój kod się nie skompiluje. Nie widzę nigdzie definicji zmiennych bok_a, bok_b, bok_c. Zobacz pełną listę błędów w kodzie https://godbolt.org/z/WGxvaszzh

komentarz 29 grudnia 2021 przez MKolaj15 Bywalec (2,270 p.)
Tak, właśnie teraz zauważyłem i nie wiem czemu jak kopiowałem kod to nie skopiowałem konstruktora i defnicji zmiennych

Podobne pytania

+1 głos
2 odpowiedzi 287 wizyt
0 głosów
1 odpowiedź 3,393 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...