Feladat: jelenítsünk meg egy 10x10 szorzótáblát (beágyazott ciklus)
Írjunk egy
programot, amely megjeleníti a szorzótáblát!
Mit kell tudnunk, hogy megoldjuk ezt a problémát? A szorzótábla egy mátrix (grid); a legegyszerűbb mód, hogy rálépünk minden elemre a sorban, és amikor a végére értünk egy sornak, akkor egyszerűen a következő sorral folytatjuk. A sorok és oszlopok azonos méretűek ebben a mátrixban.
16. ábra
17. ábra
namespace ConsoleApplication10
{
class Program
{
static void Main(string[]
args)
{
int
start = 1;
int
end = 10;
for
(int i = start; i <= end; i++)
{
for
(int j = start; j <= end; j++)
{
System.Console.Write("{0,6:d}",
(i * j));
}
System.Console.WriteLine();
}
}
}
}
A két változó tartalmazza a táblázat kezdő és végpontját ( 1 és 10)
int start = 1;
int end = 10;
A külső for ciklus végigmegy sorról sorra, és beszúr eggyel több sor
for (int i = start;
i <= end; i++)
{… System.Console.WriteLine();}
Ha a belső for ciklust befejezte minden szám iterációját a sorban.
for (int j = start;
j <= end; j++)
Minden lépésben megjelenik az i*j szorzat eredménye
System.out.Write("{0,6:d}",
(i * j));
A Write() metódus egy kifinomultabb eszközt is kínál a számok megjelenítéséhez. Az első paraméter: a formázási paraméter string (karakterlánc) formátumban (""). Ebben a példában a "{0,6:d}" azt jelenti, hogy hogy egy hat számjegyből álló decimális számnak hagyjon ki helyet, így a helyiértékeket megfelelően sorba rendezi, balra zárva például:
…..4
…..8
….12
….14
Toviábbi nformáció: http://msdn.microsoft.com/en-us/library/586y06yf.aspx