Kezdőoldal » Számítástechnika » Programozás » Van kettő darab tömböm és...

2105as kérdése:

Van kettő darab tömböm és párhuzamosan feltöltöm (név, osztályzat) hogyan kell kiíratni az ötös neveit?

Figyelt kérdés

Az én gondolat menetem :

(részlet)

string [] nev = new string [c];

int [] numbers = new int [c];

for ( i = 0; i < c; i++)

{

Console.Write("A meg a(z) {0} tanuló nevét: ",i+1);

nev[i] = Console.ReadLine();

numbers[i] = r.Next(1, 5+1);


}

int su=0;

string [] seged = new String [c];

for ( i = 0; i <c; i++)

{

if (numbers[i] == 5)

{

seged[i] = nev[i];

su++;

Console.Write("{0}" , seged[i]);

}

if (su<=0)

Console.WriteLine("Nincsen ilyen tanuló!");



A tanár mindig mondja, hogy while ciklussal oldjuk meg , de az ilyet nem lehet vagy igen ?

Minden egyen elemet meg kell vizsgálni hogy egyenlő-e öttel (==5), és a while addig fut amíg igaz a feltétele és ha bekap egy pl : 4 ak kilép és ha még van untánna pl : 3 osztályzat és a 3közt még van ötös akkor annak a nevét már nem írja ki.

While lehet ? Vagy nem ?


2017. febr. 7. 20:19
1 2
 1/14 A kérdező kommentje:
a 'c' értékét a felhasználó adja meg, "mennyi az osztály létszám" szöveg alapján.
2017. febr. 7. 20:20
 2/14 A kérdező kommentje:

a su++ az lényegében a megszámlálás tétele, de amúgy az ilyen feladat az nem kiválogatás tétele lenne? és akkor elvileg lehet while ? ha igen én nem jöttem rá

akkor hogy kellene ? (ha lehet)

2017. febr. 7. 20:22
 3/14 anonim ***** válasza:

A for és a while ciklus közt ennyi a különbség:

for (int i = 0; i < 5; i++) {}


int i = 0;

while (i < 5) {

.. //kód ide

.. i++;

}


Szóval:

int i = 0;

while (i < numbers.Length) {

.. if (numbers[i] == 5)

.. .. Console.WriteLine(nevek[i]);

}

2017. febr. 7. 20:57
Hasznos számodra ez a válasz?
 4/14 anonim ***** válasza:

C#-ban (meg sok más nyelvben is) a for csak egy szintaktikai cukorka a while-ra.

Bármit meg lehet csinálni az egyikkel, amit a másikkal.

2017. febr. 7. 21:17
Hasznos számodra ez a válasz?
 5/14 A kérdező kommentje:

Végül is az első válaszoló a while-ciklusban olyan feltételt fogalmazott meg hogy addig menjen még i<numbers.lenght --> ami biztos végig megy minden egyes elemen mert i=0 < numbers.lenght mivel ez egy pozitív szám és minden pozitív szám nagyobb mint nulla.

és akkor az i értéket nem is növelted??

2017. febr. 7. 21:58
 6/14 anonim ***** válasza:

De, épp ez lenne a lényege, hogy növeled a ciklus végén az 'i' értékét. A válaszoló azt gondolta, hogy az első példa után erre rájössz magadtól is.


Egyébként a kódod több sebből vérzik. A seged tömbnek az égadta világon semmi jelentősége nincsen, ráadásul lyukacsosan töltöd fel. Továbbá ha csak arra vagy kíváncsi, hogy volt-e ötös hallgató a végső elágazásnál, akkor fölösleges számolni őket, egy bool változót fölveszel false kezdőértékkel, és ha találsz ötös tanulóta ciklus során beállítod true-ra. Meg eleve, ha a 'su' értéke kezdetben nulla, és kizárólag növeled, akkor miért úgy ellenőrzöd, hogy <=0? Soha az életben nem lesz 0-nál kisebb.

2017. febr. 7. 23:50
Hasznos számodra ez a válasz?
 7/14 anonim ***** válasza:
Oh, és mellesleg semmilyen párhuzamosság nincs a kódban, szóval a "párhuzamosan feltöltöm" nálad valami egész mást jelent, mint amit valójában.
2017. febr. 7. 23:51
Hasznos számodra ez a válasz?
 8/14 Hominida ***** válasza:

#4: "C#-ban (meg sok más nyelvben is) a for csak egy szintaktikai cukorka a while-ra."


Arra azért ne biztassuk a tanulni vágyókat, hogy FOR ciklussal akarjanak egy fájl vége jelig vagy adott eseményig való ismétlődést megcsinálni. A FOR valójában a *számlált* WHILE ciklus egyszerűsített változata, de a WHILE nagyobb képességű szerkezeti elem.

2017. febr. 8. 01:03
Hasznos számodra ez a válasz?
 9/14 anonim ***** válasza:

#8

while(condition){}

for(;condition;){}

Ezt gondold újra.

2017. febr. 8. 01:15
Hasznos számodra ez a válasz?
 10/14 anonim ***** válasza:

"A válaszoló azt gondolta, hogy az első példa után erre rájössz magadtól is."

Igazából csak nagyon be voltam b_szva az este a sok kólától és elfelejtettem odaírni a végére az i++-t. Bocsánat.

2017. febr. 8. 04:27
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!