Wpis z mikrobloga

@PsichiX: Dzięki cumplu! Przy okazji pokazałeś mi dużo szybsze rozwiązanie tego zadania.
Mam jeszcze jedno pytanko, mam zrobić podobny program z tym że najpierw ma wyświetlać liczby nieparzyste od n do 0 a następnie parzyste od 0 do n. Cały myk polega na tym że trzeba to upchnąć w jednej metodzie, a to już powoduje u mnie przegrzanie zwojów.

if (n % 2 == 1) Console.WriteLine(n);
if (n > 0) rekurencja(n -
  • Odpowiedz
@PsichiX: Udało mi się zrobić samemu w ten sposób, ale nie mam pojęcia czemu to działa, jesteś w stanie wyjaśnić?

static void parzystosc(int n)
{
if (n % 2 ==
  • Odpowiedz
@banneh: cholera, dobry kod masz - ja sie pomylilem bo uporczywie myslalem ze mq ciagle parzyste wyswietlac - u Ciebie kolejnosc wyswietlania jest zalezna od tego czy livzba poczatkowa jrstparzysta, lub nie :)
  • Odpowiedz
@PsichiX: właśnie kurczę okazuje sie że nie jest i działa w pełni zgodnie z zadaniem czyli najpierw mi wyświetla nieparzyste od n do 0 a potem parzyste od 0 do n, a ja za cholerę nie wiem czemu to poprawnie działa niezależnie od tego czy podam n parzyste czy n nieparzyste.
  • Odpowiedz
@banneh: Tak działa rekurencja. Instrukcje które w ciele funkcji znajdują się przed wywołaniem funkcji rekurencyjnej wykonają się jako pierwsze, w kolejności zgodnej z wywołaniami funkcji rekurencyjnej, natomiast wszystkie instrukcje, które znajdują się po wywołaniu funkcji rekurencyjnej wykonają się w drugiej kolejności, w kolejności odwrotnej.
  • Odpowiedz