Hej, mam takie zadanko: "Pobrać 3 liczby całkowite. Wypisać czy da się z nich zbudować trójkąt. Jedno wyrażenie, bez if/switch. Zadanie ma być zrobione zarówno w C jak i C++."
Ma ktoś jakiś pomysł? Z if to bezproblemowo, ale no bez zarówno if'a i switch'a to trochę miazga. Pytałem się kilku moich znajomych z infy stosowanej z 2 roku i nikt za bardzo nie wiedział jak to zrobić. Dodam, że program ma być również bez pętli. To 1 miesiąc studiów więc zakres materiału nie wykraczający poza wejscie/wyjscie instrukcje warunkowe/wyrazenia. #programowanie #C #it #cpp #studbaza #studia #informatyka
@Maklerino1244: nwm, możesz na przykład dodać liczby i odjąć tę co ma być większa, sprawdzasz bit znaku + robisz tablicę const char wynik*[] = { "Da się", "nie da się"}; i wypisujesz wynik[bit_znaku]; Ofc, nie jest to pełne rozwiązanie, ale tego rodzaju gównianymi sztuczkami się da to zrobić. Pytanie #!$%@? po co xD
@XD__: @Maklerino1244: nie doczytałem, że jeszcze trzeba wypisać XD Możesz użyć operatora warunkowego dla stringów i na koniec wypisać wartość, coś takiego:
//EDIT Źle zrozumiałem posta, myślałem że na drugim roku tego nie umiesz, ale jak pierwszy miesiąc to właśnie po to takie zadanie żebyście poznali ternary operatora: warunek ? prawda : fałsz
@radekr: Właśnie przed editem tak napisałem, ale pomyślałem, że może chcą go ternary nauczyć, bo tak to u mnie w szkole wyglądało że zabronili używać ifa i switcha ( ͡°͜ʖ͡°)
"Pobrać 3 liczby całkowite. Wypisać czy da się z nich zbudować trójkąt.
Jedno wyrażenie, bez if/switch. Zadanie ma być zrobione zarówno w C jak i C++."
Ma ktoś jakiś pomysł? Z if to bezproblemowo, ale no bez zarówno if'a i switch'a to trochę miazga. Pytałem się kilku moich znajomych z infy stosowanej z 2 roku i nikt za bardzo nie wiedział jak to zrobić.
Dodam, że program ma być również bez pętli. To 1 miesiąc studiów więc zakres materiału nie wykraczający poza wejscie/wyjscie instrukcje warunkowe/wyrazenia.
#programowanie #C #it #cpp #studbaza #studia #informatyka
wynik[bit_znaku];
Ofc, nie jest to pełne rozwiązanie, ale tego rodzaju gównianymi sztuczkami się da to zrobić. Pytanie #!$%@? po co xD
std::cout << "Można zbudować trójkąt: " << std::boolalpha << a + b > c;
https://pl.wikipedia.org/wiki/Nierówność_trójkąta
tylko to
a + b > c
musi być w nawiasie, bo zdaje się, że<<
ma większy priorytet od>
:pKomentarz usunięty przez autora
Ternary operator https://en.wikipedia.org/wiki/%3F:
Będzie działać tak samo dla C i C++
bool triangleCondition = ((a+b)>c?
(a+c)>b?
(b+c)>a:0:0)
nie doczytałem, że jeszcze trzeba wypisać XD
Możesz użyć operatora warunkowego dla stringów i na koniec wypisać wartość, coś takiego:
std::string triangleCondition = ((a+b)>c?
(a+c)>b?
(b+c)>a?"mozna":"nie mozna":"nie mozna":"nie mozna");
std::cout<<triangleCondition<<" zbudowac trojkat"<<std::endl;
//EDIT
Źle zrozumiałem posta, myślałem że na drugim roku tego nie umiesz, ale jak pierwszy miesiąc to właśnie po to takie zadanie żebyście poznali ternary operatora:
warunek ? prawda : fałsz