Kezdőoldal » Számítástechnika » Programozás » C# madárnyelv (pl. tulipán->tu...

C# madárnyelv (pl. tulipán->tuvulivipáván)? Hogy kéne csinálnom?

Figyelt kérdés

Eddig jutottam:


Console.Write("Szó: ");

string be = Console.ReadLine();

char[] szo = be.ToCharArray();


for (int i = 0; i < szo.Length; ++i)

{

if (szo[i] == 'a')

{

Console.Write(szo[i]);

szo[i + 1] = 'v';

szo[i + 2] = szo[i];

i += 2;

}

}



2020. ápr. 23. 12:28
 1/4 anonim ***** válasza:
if szo[i] eleme az {a,á,e,é,i,í,o,ó,ö,ő,u,ú,ü,ű} halmaznak, akkor ki kell cserélni "v"szo[i]"v" re. Ez az alapelv. A programozását majd valaki más elmagyarázza :)
2020. ápr. 23. 12:32
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Definiálj egy <char, string> dictionary-t ('u'=>"uvu", 'i'=>"ivi", 'á'=>"ává" stb.) és egy StringBuilder-t (vagy bárhogy is hívják ezeket C#-ban).

Iterálj végig a bemenet karakterein és appendeld a StringBuilder-hez karakternek megfelelő stringet a dictből vagy magát a karaktert, ha nincs a dictben.

Add vissza az új stringet a StringBuilder-ből.

2020. ápr. 23. 13:47
Hasznos számodra ez a válasz?
 3/4 tabaki ***** válasza:

Gyakorlatilag #1 javaslata (a teendő helyesbítésével):

Legyen egy mintastringed, amely az összes magánhangzó-karaktert tartalmazza. Kell még egy üres string a madárnyelvű szónak. Amikor a bekért szón végigmégy, ezt csinálod a ciklusban:

1. A soron következő betűt hozzáadod a madárnyelvű szóhoz.

2. Ellenőrzöd, hogy a mintastringedben megvan-e ez a karakter. Ha igen, akkor a madárnyelvűhöz hozzáadsz egy "v" betűt, és még egyszer az aktuális betűt.

A ciklus lefutása után kiíratod a madárnyelvűt.

Az ellenőrzéshez az IndexOf() metódust használhatod:

[link]

A felsorolt lehetőségek közül a kilencediket ajánlom figyelmedbe, amelyik pont a legegyszerűbb.

Bonyolíthatod például azzal, hogy nagybetű esetén a "v" utáni ismétlés már kisbetű legyen, de legegyszerűbb, ha nem foglalkozol a különbséggel, hanem a bekérés után eleve kisbetűsíted a szót, akkor a keresőmintába is elég csak a kisbetűket írnod.

2020. ápr. 24. 01:40
Hasznos számodra ez a válasz?
 4/4 tabaki ***** válasza:
Na, sikerült?
2020. ápr. 26. 01:09
Hasznos számodra ez a válasz?

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!