C#, ezt hogyan?

Figyelt kérdés

Gondolom for ciklussal, de az ilyen fajta feladatok egyáltalán nem mennek.

Írassuk ki az 1 – 9 számokat a következő formákban:


9 9 9 9 9 9 9 9 9

8 8 8 8 8 8 8 8

7 7 7 7 7 7 7

6 6 6 6 6 6

5 5 5 5 5

4 4 4 4

3 3 3

2 2

1



1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

6 6 6 6 6 6

7 7 7 7 7 7 7

8 8 8 8 8 8 8 8

9 9 9 9 9 9 9 9 9



32. Jelenjen meg a képernyőn a következő nyomtatási kép:


V A K Á C I Ó

A K Á C I Ó

K Á C I Ó

Á C I Ó

C I Ó

I Ó

Ó



Ó

I Ó

C I Ó

Á C I Ó

K Á C I Ó

A K Á C I Ó

V A K Á C I Ó



2017. nov. 26. 23:35
 1/9 anonim ***** válasza:
62%
2017. nov. 26. 23:39
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

Mindegyikhez két ciklus kell, az egyiket a másikba ágyazva.

A másodiknál pedig tömbként kell kezelned egy stringet.


Példa:

for (int i = 0; i < 9; i++){

for (int j = 0; j < 9; j++){

//Lényegi munka

}

}

2017. nov. 27. 08:37
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:
Hol akadtál el?
2017. nov. 29. 23:10
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
Tessék: [link]
2017. nov. 29. 23:14
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

Ne hallgass a #2 re. Hülyeségeket beszél. :D

Hajlandó vagyok neked segíteni úgy hogy megértsd a lényeget. De nem úgy hogy megadom a megoldást. Remélem belátod, hogy a te érdekeidet próbálom szolgálni.

2017. nov. 29. 23:17
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

Vess egy pillantást a legfelső háromszögre:


9 9 9 9 9 9 9 9 9

8 8 8 8 8 8 8 8

7 7 7 7 7 7 7

6 6 6 6 6 6

5 5 5 5 5

4 4 4 4

3 3 3

2 2

1


Mit veszel észre?

- Kiírsz 9 db 9-est 8db 8-ast stb... egészen 1 db egyesig.

- A konzolra balról jobbra felé soronként tudsz írni.


Akkor kellene egy ciklus ami 9 től számol lefelé. Minden sorban ennek a ciklusnak a ciklusváltozóját fogod kiirni. De inkább számoljunk size-tól (size = 9).


for(int i=size; i > 0; i--){ //külső ciklus

...//már van egy ciklusunk ami size -> 1 (9->1) számol.

...//Ha itt kiírnád az i értékét akkor egy csökkenő számsort kapnál

...//Ez a csökkenő számsor fogja megmondani, hogy az adott sorban milyen számot kell kiírnod

}


Fejlesszük tovább a fenti ciklust úgy, hogy belepakolunk egy belső ciklust. Ez a belső ciklus fogja kiírni a sorokat.


Hány darab számot kell kiírni egy adott sorban? Pont annyit amennyi a külső ciklusváltozó értéke (az első sorban 9-et aztán 8-at stb.).

És milyen számot kell kiírni egy adott sorban? A külső ciklusváltozó (szám) karakterét.


for(int i=size; i > 0; i--){ //külső ciklus size -> 0 számol

...for(int j = 0; j < i; j++) // mindig i iteráció fut le!

......print(i) // az i értékét fogja kiírni i szer. Fontos, hogy itt nem teszel sortörést!


...//Ez viszont már a külső ciklus. Ide kell egy sortörés.

...print("\n");

}


És meg is van a felső háromszög.

Az alsóval hasonlóan kell játszanod, csak ott felfelé számolsz és még néhány apróság.


A 2. feladat is nagyon hasonló de elmagyarázom azt is.

2017. nov. 30. 09:51
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:

Első lépésként elkezded nézegetni ezt a háromszöget.


Észreveszed, hogy itt már nem ugyan azt a karaktert kel egy sorba írni.

Aztán azt is észre veszed hogy fokozatosan mindig lehagysz egy karaktert a string elejéről.


string str = "VAKÁCIÓ";

size = str.Length;


A külső ciklus size -> 1 ig számol (hogy minden sorban hány karaktert írunk ki (amit majd a belső ciklusnak kell odaadnunk)).

A belő ciklus már izgalmasabb mivel az első sorban 0-tól, a második sorban már az első elemtől (így a 'V' betű nem lesz benne), a harmadik sorban meg a 2-től ("VA" nem lesz benne) stb kezdünk el kiírni.


Viszont az utolsó elemet ('Ó')már minden sorban kiírjuk szóval a belső ciklus biztos hogy size-1 ig megy (size-al már túlindexelnénk a tömbön).


for(int i = size; i > 0; i--){ //azért i=size mert első sorban size aztán size-1, size-2 stb karaktert írunk ki

...for(int j = size-i; j < size; j++) //azért j= size-i mert az első sorban 0. elemtől írunk aztán az 1. től stb.

......print(str[j]);


print("\n");

}


És meg is vagy.

2017. nov. 30. 10:45
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

Elírtam, néhány dolgot.

Az első feladatban ezt a megjegyzést akartam írni:

//külső ciklus size -> 1 számol


A másodikban pedig erre a 3szög re gondoltam:

VAKÁCIÓ

AKÁCIÓ

KÁCIÓ

ÁCIÓ

CIÓ

Ó

2017. nov. 30. 10:48
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:
nagyon szépen köszönöm a segítségeket!!
2017. dec. 2. 20:04

További kérdések:




Minden jog fenntartva © 2025, 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!