Forum » Programiranje » [C#]polje znakov
[C#]polje znakov
krastača ::
naredila sem program za izpis 25 znakov in prebrat bi moglo le - znake samoglasnikov
trenutno je na 5 znakih ker še ni dopolnjen - vpišem lahko vendar mi za tem ne izpiše a sem naredila napako da sem delala tako veli if in else if?
char[] p = new char[5]; for (int i = 0; i < p.GetLength(0); i++) { Console.Write("Vpiši {0}. znak: ", i); p[i] = (char)Console.Read(); Console.ReadLine(); } for (int i = 0; i < p.GetLength(0); i++) { if (p[i] == 'a' && p[i] == 'e' && p[i] == 'i' && p[i] == 'o' && p[i] == 'u') Console.WriteLine("p[{0}] = {1}", i, p[i]); else if (p[i] == 'A' && p[i] == 'E' && p[i] == 'I' && p[i] == 'O' && p[i] == 'U') Console.WriteLine("p[{0}] = {1}", i, p[i]); } Console.ReadKey(true);
trenutno je na 5 znakih ker še ni dopolnjen - vpišem lahko vendar mi za tem ne izpiše a sem naredila napako da sem delala tako veli if in else if?
- zaklenil: Ziga Dolhar ()
amacar ::
Ne dela, ker si dala in namesto ali, torej && namesto ||
char[] p = new char[5]; for (int i = 0; i < p.GetLength(0); i++) { Console.Write("Vpiši {0}. znak: ", i); p[i] = (char)Console.Read(); Console.ReadLine(); } for (int i = 0; i < p.GetLength(0); i++) { if (p[i] == 'a' || p[i] == 'e' || p[i] == 'i' || p[i] == 'o' || p[i] == 'u') Console.WriteLine("p[{0}] = {1}", i, p[i]); else if (p[i] == 'A' || p[i] == 'E' || p[i] == 'I' || p[i] == 'O' || p[i] == 'U') Console.WriteLine("p[{0}] = {1}", i, p[i]); } Console.ReadKey(true);
Zgodovina sprememb…
- spremenil: amacar ()
Spura ::
for (int i = 0; i < p.Length; i++)
oziroma
for (int i = 0; i < p.Count; i++)
Ubistvu je drugo se boljse.
Zgodovina sprememb…
- spremenil: Spura ()
Spura ::
Count in Length niso funkcije ampak so properties i.e. lastnosti. V Count in Length imata isto vrednost, to je dolzina arraya.
norcuron ::
Da skrajšaš tista dolga čreva pogojev narediš en string, namečeš noter samoglasnike in preverjaš kaj ti .IndexOf(string) vrača - -1 ni samoglasnika, karkoli druzga je najden samoglasnik.
To je na brzino :)
To je na brzino :)
Great are mysteries of the mind ... or not?
LeQuack ::
Z uporabo regular expressions se da stvar poenostaviti, kot je bilo omenjeno zgoraj:
char[] p = new char[5]; for (int i = 0; i < p.Length; i++) { Console.Write("Vpiši {0}. znak: ", i+1); p[i] = (char)Console.Read(); Console.ReadLine(); } // Iteracija skozi vse znake, preveri ce je kateri od njih samoglasnik for (int i = 0; i < p.Length; i++) // Regex preveri, ce je znak enak enemu od znakov aeiou, // ne razlikuje med velikimi ali malimi crkami if (Regex.IsMatch(p[i].ToString(),"[aeiou]", RegexOptions.IgnoreCase)) Console.WriteLine("p[{0}] = {1}", i, p[i]); Console.ReadKey(true);
Quack !
Spura ::
Mozno da je Count funkcija. Ne znajdem se ravno na teh zanic MSDN pageih.
LeQuack, ni treba cloveka tkoj zmest z regularnimi izrazi.
Po mojem mnenju bi bil tle najprimernejsi switch stavek.
ce me spomin ne vara foreach dela tudi na arrayih. Potem lahko naredis:
LeQuack, ni treba cloveka tkoj zmest z regularnimi izrazi.
Po mojem mnenju bi bil tle najprimernejsi switch stavek.
for (int i = 0; i < p.Length; i++) { switch(p[i]) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'A': case 'E': case 'I': case 'O': case 'U': Console.WriteLine("p[{0}] = {1}", i, p[i]); break; } }
ce me spomin ne vara foreach dela tudi na arrayih. Potem lahko naredis:
foreach (char c in p) { switch(c) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'A': case 'E': case 'I': case 'O': case 'U': Console.WriteLine(" = {0}", c); break; } }
Zgodovina sprememb…
- spremenil: Spura ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Visual C# problemOddelek: Programiranje | 3146 (2318) | mladec |
» | [C#] Domača naloga - osnoveOddelek: Programiranje | 2509 (1726) | 11tomi12 |
» | c# object[,] to object[][], excel itd.Oddelek: Programiranje | 679 (499) | mihies |
» | [C#] Reševanje domačih nalogOddelek: Programiranje | 3283 (2787) | krastača |
⊘ | [C#]LengthOddelek: Programiranje | 770 (666) | Ziga Dolhar |