[c#] Pętla w pętli


(Edawdo) #1

Witam, liczę na podpowiedź jak napisać pęle for w pętli for.

Taki kod(ponizej): nie przynosi porządanego skutku.

Porządany skutek to:

samochod 1

1 miesiac

2 miesiac

samochod 2

1 miesiac

2 miesiac

.

.

.

samochod n

1 miesiac

2 miesiac

A kod który wpisuję to

for (int i = 1; i <= sam; i++)


                    Console.WriteLine("Podaj zuzycie paliwa samochodu nr {0}", i);

                                    {

                    for (int e = 1; e <= mies; e++)

                        Console.WriteLine("{0} miesiac:", e);

                             }

(Sawyer47) #2

Fatalne formatowanie, nie mogłaś tego kodu jakoś po ludzku napisać? Zobacz ten kod po retuszu:

for (int i = 1; i <= sam; i++)

	Console.WriteLine("Podaj zuzycie paliwa samochodu nr {0}", i);

{

	for (int e = 1; e <= mies; e++)

		Console.WriteLine("{0} miesiac:", e);

}

To oczywiste, że nie działa. Pętla for bez klamer odnosi się tylko do 1 instrukcji, a więc pierwsza pętla for przejdzie, następnie klamry oznaczają nowy zasięg leksykalny, a nie ciało pętli for. Poprawnie powinno być:

for (int i = 1; i <= sam; i++)

{

	Console.WriteLine("Podaj zuzycie paliwa samochodu nr {0}", i);


	for (int e = 1; e <= mies; e++)

	{

		Console.WriteLine("{0} miesiac:", e);

	}

}

Dodałem w drugiej pętli klamry, mimo iż nie są niezbędne (bo to tylko 1 instrukcja), ale IMO wtedy jest czytelniej.


(Edawdo) #3

Dzięki,

zaczynam przygode z programowaniem, w późneijszym czasie pewnie moje kody będą cacy :wink: