Zmienna w pętli w języku C#

0

Cześć. Mam pytanie do Was. Mógłby ktoś wytłumaczyć, dlaczego w "if" musi być i=0;? Ogólnie to ma wyświetlić tabliczkę mnożenia. Screen w załączniku.obraz_2021-02-16_223651.pngprograaam.png

2

Bo ktos kto Ci ten kod dostarczyl ma bardzo osobliwe podejscie do zagniezdzonych petli :)

To powinno byc cos w rodzaju

for (int i = 1; i <= 10; i++) {
    for (int j = 1; j <= 10; j++) { 
3

Zakładam, że kod z górnej połowy zrzutu ekranu nie różni się od tego z dolnej połowy (nie wiem, czemu zamieściłeś dwa).

Pewne wprowadzenie:

  1. Każda pętla for ma zmienną sterującą – zazwyczaj jedną, czasem więcej. Sam nie używam nazwy "zmienna sterująca" za często, ale tutaj się nadaje akurat. :)
  2. Zazwyczaj, jak wspomniał @stivens , wyświetlanie dwuwymiarowej tablicy (a taką jest tabliczka mnożenia) zapisuje się, używając dwóch pętli – jednej w drugiej. Zmienna sterująca zewnętrznej pętli reprezentuje numer wiersza tej tablicy, a zmienna sterująca wewnętrznej pętli reprezentuje numer kolumny tej tablicy. Jak kończy się pętla wewnętrzna, to oznacza koniec wiersza. Dzięki temu algorytm wie, że ma znów zacząć numerować kolumny od 1, i rozpoczynając nową pętlę sam ustawia zmienną sterującą na wartość 1.

Odpowiadając na pytanie: u Ciebie zmienne sterujące są też dwie, ale pętla jest jedna. To trochę zmienia postać rzeczy. Algorytm nadal potrzebuje mieć zmienną sterującą ustawioną na 1 na początku każdego wiersza, ale tutaj sam tego nie zrobi. U Ciebie numer kolumny reprezentuje zmienna i; musi być więc taki moment podczas obiegu pętli, że zmiennej i jest przypisywana wartość 1. Takim momentem jest, kiedy zmienna i ma wartość 10 – wiersz się skończył. Jako że u Ciebie wartość tej zmiennej już jest zwiększana o 1 po każdej iteracji (nie wiem, czemu, w sumie), to żeby na początku kolejnej iteracji żeby nie miała wartości 2, to musi być ustawiana na wartość 0.

Jak coś niejasne, pytaj.

0

A dlaczego tak sobie utrudniać życie?
https://ideone.com/ahobir

0

Wielkie dzięki za odpowiedzi! Już rozumiem. Bardzo mi pomogliście.

1 użytkowników online, w tym zalogowanych: 0, gości: 1