C++ REFERENCJA

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

P1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
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

Kopiuj
#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;
}
KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5550
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ą?
AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
2

Wg zadania

Kopiuj
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łę.

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
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.com/cprogramming/c_function_call_by_reference.htm

TomaszLiMoon
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 530
1

czy ktos moglby mi wytlumaczyc jak zrobic to referencją?

Kopiuj
bool isTriangle( const double& x , const double& y , const double& z ) 
{
    return (z+y)>x && (x+z)>y && (x+y)>z;
}
MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
2
Kopiuj
bool areTriangleEdges(double a, double b, double c) {
    return a > 0 && b > 0 && c > 0
        && a + b > c
        && b + c > a
        && c + a > b;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.