Homework Introduction to Programming Problem 16
Здравейте имам проблем с последната задача 16 - дълата редица от числа където се искаха първите 1000 члена на редицата: Използвам следния код:
using System;
class PrintLongSequence
{
static void Main ()
{
for (int i = 2, j = -3; i<= 1000; i = i + 2, j = j - 2)
{
Console.WriteLine(i);
Console.WriteLine(j);
}
}
}
Когато го стартирам редицата започва от -703 и 704. Това са първите цифри които ми изписва. Позлвам същия код и в задача 9 (същата редица но само пъривте 10 цифри (i <= 10)) и там кода работи перфектно. Като си пусна с дебугера програмата виждам, че променливите се смятат правилно 2 -3 -4 -5 и тн., но защо не ми изкарава цялата редица на конзолата?
i %2 == 0
+ii
Какво точно означават тези изрази че не са ми много ясни
i %2 == 0 - делим i на 2 без остатък и проверяваме дали резултата е равен на 0;
+ii предполагам че имаш в предвид ++i - увеличаваме i с едно преди да го използваме, ето и примери за да разбереш разликите м/у ++i и i++:
i = 1;
Console.WriteLine(++i); // отпечатва 2
i = 1;
Console.WriteLine(i++); // отпечатва 1
i = 1;
Console.WriteLine(++i); // отпечатва 2
Console.WriteLine(i++); // отпечатва 2
Console.WriteLine(i++); // отпечатва 3
i = 1;
Console.WriteLine(i++); // отпечатва 1
Console.WriteLine(++i); // отпечатва 3
Console.WriteLine(++i); // отпечатва 4
Console.WriteLine(i); // отпечатва 4
Console.WriteLine(i++); // отпечатва 4
Console.WriteLine(i); // отпечатва 5
Извинявам се ,че не съм написал коментар към примера си ,но както виждам g.stoyanov е обяснил много по-добре от колкото аз бих го направил.