C# a tömbök esetében lenne egy kérdésem (kezdő vagyok)?
Íme egy tömb példa:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();
int[] tomb = new int[5]; // 5 számot ír ki, 5 elemből áll
for (int a = 0; a < 5; ++a)
{
tomb[a] = r.Next(50); // random szám max 50-ig
}
for (int a = 0; a < 5; ++a)
{
Console.Write(tomb[a] + " ");
}
Console.ReadKey();
}
}
}
Nem értem, hogy a for(int-nél amiket megadunk azok micsodák? :O Miért van ott ez hogy for (int a = 0; a < 5; ++a) ? Nem értem a logikáját... New Randomnál világos nagyjából, hogy 5 szám lesz, de nem teljesen világos az egész, valaki szakzsargon nélkül érthetően elmagyarázná légyszíves !
gondoltam megtanulom a c# 21 nap alatt című könyvet, de az első oldalon is már olyan szakzsargont használnak, hogy inkább hagytam! :D Csak roham tempóban haladunk az anyagban, és a tanár nem tanít túl részletesen... két hét alatt, tehát 4 óra alatt megtanultuk az if-et, a switset, a case-t, a while-t(amit egyébként nem tudom hogy micsoda). a tömböket... Szóval eléggé haladunk... a switset és az if függvényt tudom, tudok is programot írni ha nem túl bonyolult, de ez a tömb annyira nem világos...
jelenként kéne leírás nekem, és megérteném, tehát ha minden kis zárójel is magyarázatot kapna.
Egy példa, amit azt hiszem értek, ezt is kikommentezem, csak hogy hátha tudjátok mi a "gond":
Random r=new Random ();
int[] tomb //megcsinálod a tömböt ezzel hogy int[] tomb
int[] tomb=new int {10}; // tehát 10 elemű lesz a tömb, nullákkal tölti fel vagy mi...
for (int a=0; a<10; ++a // itt feltöltjük... tehát idáig:
Random r=new Random ();
int[] tomb=new int {10};
for (int a=0; a<10; ++a)
{
tomb{a}=1; // a tömb a-adik eleme legyen egyenlő 1-el,
de az a. elem az melyik? A tömb 0. eleme a-val is kifejezhető, vagy mi?
nt[] tomb=new int {10}; < {} helyett []
tomb{} << itt is.
Az "a" egy változó. Egy egész számot (int) tárol. Amikor leírod a nevét, olyan mintha az aktuális értékét írnád oda.
A ciklus először beállítja az a értékét 0-ra. Majd lefut a kapcsos zárójelben levő blokk. Ezután a értéke egyel növekszik (az a++ csinálja ezt), és újra lefut a blokk, (de most már a-nak az értéke 1). Mindez addig meg amíg a < 10.
Tehát így néz ki ciklus nélkül:
a = 0;
tomb[a] = 1; //ugyanaz mintha tomb[0] = 1; lenne, mivel a értéke 0
a++; //a 1-gyel nagyobb lesz (a = a + 1)
tomb[a] = 1; //most a tomb[1] = 1; utasításnak felel meg, mert a értéke már 1
ez megy a = 9-ig, így minden eleme a tömbnek 1-lesz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!