Wątek przeniesiony 2020-11-16 16:02 z Coyote przez kq.

C++ REFERENCJA

0

Napisz funkcję, która jako argumenty przyjmuje długości boków trójkąta (trzy
argumenty typu double). Funkcja ma zwrócić wartość true/false w zależności czy z
podanych długości można zbudować trójkąt (można - true, nie można - false). W funkcji
main wprowadź długości boków, wywołaj funkcję i wypisz na ekranie informację czy
można zbudować trójkąt.
czy ktos moglby mi wytlumaczyc jak zrobic to referencją? do czego i w ktorym miejscu sie odwołać?
moj kod bez referencji wyglada tak, chyba jest poprawny ale tez bede wdzieczna za sprawdzenie

#include<iostream>
#include<cstdlib>
using namespace std;

double x,y,z;

bool bokitrojkata(double x, double y, double z)
{
    if ((z+y)>x && (x+z)>y &&(x+y)>z)
       {
           return true;
}
    else

return false;
}
int main()
{

  bokitrojkata(1,2,5);
    return 0;
}
2
  • Zły dział
  • Twoja funkcja jest błędna. Masz w poleceniu Funkcja ma zwrócić wartość true/false a ma typ zwracany double w dodatku tego double nie zwracasz
  • Gdzie w poleceniu masz coś o referencji? Czemu chcesz to zrobić z referencją?
2

Wg zadania

bool bokitrojkata(double x, double y, double z)

I przenigdy nie drukuj w funkcji, jak masz ZWRÓCIĆ WYNIK. Bo może to jest potrzebne w dalszym algorytmie - skąd miałby wyczaić co drukujesz?

A referencja tu za nic nie pasuje, mogła by być włączona na siłę.

0

Warunek wygląda na poprawny, tylko funkcja ma zwracać bool, czyli return true/false, zamiast cout. Referencja? A po co i o co chodzi? Może o przekazywanie argumentów?
https://www.tutorialspoint.co[...]unction_call_by_reference.htm

1

czy ktos moglby mi wytlumaczyc jak zrobic to referencją?

bool isTriangle( const double& x , const double& y , const double& z ) 
{
    return (z+y)>x && (x+z)>y && (x+y)>z;
}
2
bool areTriangleEdges(double a, double b, double c) {
    return a > 0 && b > 0 && c > 0
        && a + b > c
        && b + c > a
        && c + a > b;
}

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