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 | 3349 (2521) | mladec | 
| » | [C#] Domača naloga - osnoveOddelek: Programiranje | 2665 (1882) | 11tomi12 | 
| » | c# object[,] to object[][], excel itd.Oddelek: Programiranje | 776 (596) | mihies | 
| » | [C#] Reševanje domačih nalogOddelek: Programiranje | 3552 (3056) | krastača | 
| ⊘ | [C#]LengthOddelek: Programiranje | 881 (777) | Ziga Dolhar | 
 
 