Navodilo naloge
Napiši funkcijo, ki od uporabnika zahteva vnos niza, nato pa niz popravi tako, da ob vsaki pojavitvi samoglasnika v nizu, nizu poleg obstoječega samoglasnika doda še en poljuben samoglasnik.
Postopek reševanja
Uporabniku najprej izpišemo sporočilo, naj vnese niz. Nato vnesen niz s pomočjo ukaza Console.Readline() iz zaslona preberemo in ga shranimo v spremenljivko tipa string . Definiramo še eno spremenljivko tipa string , v katero shranimo vse samoglasnike. Ustvarimo še generator naključnih števil, katerega bomo potrebovali v nadaljevanju. Potrebovali bomo še eno spremenljivko tipa string , v katero bomo shranjevali niz za izpis.
Nato se s for zanko sprehodimo skozi niz in s pomočjo metode IndexOf preverjamo, ali se tekoči znak niza nahaja v nizu samoglasniki, katerega smo definirali na začetku. V primeru da je število, ki ga vrne ukaz samoglasniki.IndexOf(niz[i]) različno od -1, potem je tekoči znak samoglasnik zato izpisu dodamo tekoči znak niza ter za njim še en naključno zgeneriran samoglasnik. Pri generiranju si pomagamo z generatorjem naključnih števil Random . Tega smo ustvarili že na začetku. Naključno zgeneriramo neko število v razponu dolžine niza samoglasnikov, nato pa iz tega niza vzamemo znak, ki se nahaja na mestu, katerega smo dobili z generiranjem.
V nasprotnem primeru, torej če tekoči znak niza ni samoglasnik, pa tega le dodamo izpisu. Niz na koncu s pomočjo metode Console.WriteLine na zaslon tudi izpišemo.
Koda programa v C#
Console.Write("Vpiši niz: ");
string niz = Console.ReadLine();
string samoglasniki = "aAeEiIoOuU";
int dolzina=samoglasniki.Length;
string izpisi = "";
Random nakljucna = new Random();
for (int i = 0; i < niz.Length; i++)
{
if (samoglasniki.IndexOf(niz[i]) !=-1)
{
int indeks = nakljucna.Next(0, dolzina - 1);
char naklj = samoglasniki[indeks];
izpisi = izpisi+niz[i]+naklj;
}
else
izpisi+=niz[i];
}
Console.WriteLine(izpisi);
Console.ReadLine();
Rešitev
|


