Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie (/watek-sandbox-2-zmienne-%C4%87wiczenie-na-wyobra%C5%BAnie) Strony:
1
2
|
Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - wojtekizk - 14-01-2016 Witam ponownie Kurcze mały tu jeszcze ruch w interesie, więc może zachęcę zaglądających tu kolegów i koleżanki (bo pewnie takie są, albo będą) do odrobiny intelektualnego wysiłku. Na początek pierwsze ćwiczenie z C++: Proszę przy użyciu tylko DWÓCH zdefiniowanych zmiennych, zamienić ich wartości miejscami. czyli mamy np: int x=5; int y=8; sprawić aby po zamianie x=8 a y=5 Nie wolno posługiwać się zmiennymi pomocniczymi , tylko x i y. Czekam na odpowiedzi... może ten banalny przykład rozrusza nieco atmosferę :-) Pozdrawiam RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - Bogusz - 14-01-2016 Hmmm czy takie coś zda egzamin ? x = x + y; y = x - y; x = x - y; RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - wojtekizk - 14-01-2016 (14-01-2016, 11:33)Bogusz napisał(a): Hmmm czy takie coś zda egzamin ? Cześć jasne! Zgłoś się teraz do do admina... niech da to co obiecał :-) ps. Nareszcie jakiś ruch :-) Przypomniałem sobie przy tej okazji, że kiedyś było takie kultowe coś jak COMMODORE C64 ,gdzie pamięć była sprzętowo podzielona na osobne obszary przeznaczone na przechowywanie zmiennych i kodu maszynowego programu. Jeśli dobrze pamiętam to na zmienne było tylko 4 kB i trzeba było bardzo uważać aby nie przykryć jednego drugim, bo to powodowało 100% zwis komputerka, zwłaszcza że niemal wszystko przechowywane było w tablicach. Ale to bardzo stare dzieje, które jednak miło się wspomina (oj te noce spędzone przy magnetofonie z ołówkiem, który miał sześciokątny przekrój. Kto dziś pamięta dlaczego akurat taki? :-) Pozdrawiam Na pocieszenie dla tych pozostałych, którzy nie zdążyli z odpowiedzią napiszę tylko tyle,że jest jeszcze jedno rozwiązanie oparte na referencjach( czyli do miejsc w pamięci gdzie przechowywane są wartości) - jednak niezupełnie o to chodziło. RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - Bogusz - 14-01-2016 Szkoda, że tak mało tego ruchu. Możliwe, że wieczorem ktoś jeszcze się odezwie RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - Lata - 14-01-2016 Ja tez zaglądałem ale rozwiązania nie znałem RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - adix - 27-01-2016 if(x=5) y=5; if(y=5) x=8; RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - wojtekizk - 29-01-2016 (27-01-2016, 23:22)adix napisał(a): if(x=5) y=5; Cześć... z tymi wartościami to był przykład. Twój kod jest logicznie poprawny, ale działa tylko wtedy gdy znasz wartość x i y. Ogólnie chodzi o zamianę wartości obu zmiennych, dowolnych wartości. W języku C operatorem porównania jest ==. W twoim przypadku, jeśli to jest C (C++) to już w pierwszej linii masz: x=5 i y =5 :-) Pozdrawiam RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - adix - 30-01-2016 o tym == podwójnym zapominam czasem ale kompilator mi przypomina a co do twojego pytania wystarczy i 2 zimne pomocnicze i 2 warunków. x1=x; y1=y; if(x=x1) y=x; if(y=x) x=y1; RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - wojtekizk - 30-01-2016 (30-01-2016, 00:43)adix napisał(a): o tym == podwójnym zapominam czasem ale kompilator mi przypomina a co do twojego pytania wystarczy i 2 zimne pomocnicze i 2 warunków. To niezgodne z warunkami ćwiczenia. Przeczytaj pierwszy post. Jedyne właściwe rozwiązanie przesłał pierwszy odpowiadający. .. A Twoje rozwiązanie aż z 2 zmiennymi pomocniczymi i 2 if-ami - to chyba najbardziej zawiłe jest. Po co aż 2 zmienne pomocnicze? A z jedną nie łaska? z=x; x=y; y=z; Pozdrawiam :-) RE: Sandbox 2: Zmienne - ćwiczenie na wyobraźnie - adix - 31-01-2016 Kod: switch( x ) |