C#-ban kaptam a feladatot, hogy vegyem ki az ékezeteket a szövegből, amire csináltam egy programot de hibát ír egy résznél és nem tudom miért. Mi a hiba?
a line a stringem amiben a szöveg van.
char [,] ekezet = new char [9,2];
ekezet[0, 1] = 'í'; ekezet[1, 1] = 'é'; ekezet[2, 1] = 'á';
ekezet[3, 1] = 'ű'; ekezet[4, 1] = 'ő'; ekezet[5, 1] = 'ú';
ekezet[6, 1] = 'ö'; ekezet[7, 1] = 'ü'; ekezet[8, 1] = 'ó';
ekezet[0, 0] = 'i'; ekezet[1, 0] = 'e'; ekezet[2, 0] = 'a';
ekezet[3, 0] = 'u'; ekezet[4, 0] = 'o'; ekezet[5, 0] = 'u';
ekezet[6, 0] = 'o'; ekezet[7, 0] = 'u'; ekezet[8, 0] = 'o';
int h = line.Length;
for (int i = 0; i < h; i++)
{
for (int j = 0; j < 9; j++)
{
if (line[i] == ekezet[j, 1])
{
line[i] = ekezet[j, 0];
}
}
}
Sokat segítene a probléma megoldásban, ha:
A.) megnéznéd a hibát, megkeresnéd a helyét, megpróbálnád értelmezni
B.) leírnád ide a hibát, megmondanád, hogy hol a helye és majd valaki megpróbálja neked értelmezni.
A bekeretezz részből mi nem világos? a string egy karakterének az =-el nem tudsz értéket adni, mert csak olvasható.
A másik bekeretezett C#-os kódrészletet javasolnám használni (char[] tömbbé alakít, módosít, visszaalakít)
Nem kell ennyire bonyolítani!
string line = "áűőúóüöíáéűőúöüóüó";
char[] chars = line.ToCharArray();
for (int i = 0; i < h.NumberOfLoops; ++i)
{
switch (chars[i])
{
case 'á':
chars[i] = 'a';
break;
...
...
default:
break;
}
}
line = new string(chars);
Vagy line = line.Replace('á', 'a').Replace('í', 'i')...;
Kapcsolódó 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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!