Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

"IF arytmetyczny"

Ostatnio zmodyfikowano 2014-10-19 15:34
Autor Wiadomość
Rashmistrz
Temat założony przez niniejszego użytkownika
"IF arytmetyczny"
» 2014-10-14 20:58:31
Tak zwany "if arytmetyczny"...
//edit: operator warunkowy

Jako że zginął on w kursach i wyszukiwarkach
podających średnią arytmetyczną jako wynik...
pokrótce go opiszę.


Jest on jedynym operatorem który wymaga podania
trzech argumentów, z których jeden jest warunkiem:
warunek ? wyrazenie: wyrazenie

Wynikiem tego operatora jest użycie wyrażenia
pierwszego w przypadku zwróceniu prawdy przez
warunek, bądź drugiego przy zwróceniu fałszu.

W tym operatorze jest możliwe zagnieżdżanie.
(Zalecam używać wtedy nawiasów, bo może coś nie styknąć.)

Ciekawostką jest to, że można użyć go wewnątrz
wyrażenia arytmetycznego:
C/C++
#include <iostream>
int main() {
    using namespace std;
    int x;
    cin >> x;
    int liczba = 3 *( 2 +( x < 0 ?+ x:- x ) );
    cout << liczba;
    return 0;
}
Ciekawy jest również wykres funkcji zawierający
tenże operator. ( O_o a jak zawiera ich więcej... :O)

Należy pamiętać również gdy go używamy wewnątrz
wyrażenia, dobrze jest go wstawić w nawias, by
nie kolidował z innymi wyrażeniami.

Co ciekawsze Wikipedia  się myli.
//edit:to ja się myliłem O_o
P-118481
SeaMonster131
» 2014-10-14 21:05:41
To nie "arytmetyczny if" tylko "operator warunkowy" - http://pl.wikipedia.org/wiki​/Operator_warunkowy.
P-118484
Memento96
» 2014-10-14 21:35:17
dlatego jak sie uczysz to sie nie ograniczasz do jednego zrodla, ja sie ucze z tej strony oraz z symfonii, tam ten operator warunkowy by i byl opisane poprawnie
P-118490
Rashmistrz
Temat założony przez niniejszego użytkownika
» 2014-10-15 16:02:29
Powinienem chyba wyposażyć się w podręcznik... xD

Więc czym tak na prawdę jest ten "if arytmetyczny",
jak nie jest nim operator warunkowy?
P-118533
Rashmistrz
Temat założony przez niniejszego użytkownika
» 2014-10-19 14:46:23
Więc czym tak na prawdę jest ten "if arytmetyczny [...]?
Nikt nie wie, bo nie istnieje w C++?

Może ktoś to zrozumie: :/
http://pl.wikipedia.org/wiki​/Instrukcja_warunkowa#Arytmetyczny_If
P-118895
Monika90
» 2014-10-19 15:30:15
Na tej stronie wikipedii jest przecież wyraźnie napisane, co to jest if arytmetyczny i że nie ma go w C++.

Zwykły if przyjmuje wyrażenie logiczne i ma dwie gałęzie, jeżeli wyrażenie jest równe true to wykona się pierwsza gałąź, jeżeli wyrażenie jest równe false to druga.

If arytmetyczny przyjmuje wyrażenie arytmetyczne i ma trzy gałęzie, jeżeli wartością wyrażenia jest liczba mniejsza od zera, to wykonywana jest pierwsza gałąź, jeżeli zero to druga, a jeżeli liczba większa od zera to trzecia.


PS. Nie ma w C++ takiego ifa, ale można go sobie zrobić.
P-118906
Rashmistrz
Temat założony przez niniejszego użytkownika
» 2014-10-19 15:34:09
Dziękuję za poprawienie i
uzupełnienie mojej wiedzy. ^_^
P-118907
« 1 »
  Strona 1 z 1