140 likes | 340 Views
Nizi. Tip string. String. string ime = "Matija"; Zaporedje znakov med " + stakne dva niza Brez "dodatnih" presledkov "Matija" + "Lokar" "MatijaLokar" Če en izraz NI niz, se ta pretvori v niz! Branje nizov metoda Console.ReadLine(). Dolžina niza, posamezni znak,.
E N D
Nizi Tip string
String string ime = "Matija"; Zaporedje znakov med " + stakne dva niza Brez "dodatnih" presledkov "Matija" + "Lokar" "MatijaLokar" Če en izraz NI niz, se ta pretvori v niz! Branje nizov metoda Console.ReadLine()
Dolžina niza, posamezni znak, ... Dolžina niza: lastnost Length string priimek = "Lokar"; priimek.Length 5 "matija".Length 6 (priimek + " " + "bla").Length 9 Znak na i-tem mestu [i] ime[i] Znake štejemo od 0 dalje! "Blabla"[3] b string ime = "Matija"; ime[1] a
Obrni niz Preberi niz in ga izpiši obrnjeno! Matija ajitaM Zanka Pregledamo vse znake v nizu (dolžina niza) while (i < niz.Length) Dodajamo na začetek ob_niz = niz[i] + ob_niz;
Znaki (char) Tip char ker (character) Ne čar char znak; posamezni znaki 'a' : znak a Enojni narekovaji znak = 'm'; char zacetnica = 'M'; Razlika med string in char string znakKotNiz = "m"; char znakKotZnak = 'm';
Tip char primerjanje znakov 'a' < 'b' < 'c' < … < 'z' '0' < '1' < … < '9' 'A' < 'B' < 'C' < … < 'Z' vmes v teh treh zaporedjih ni nobenih drugih znakov ('0' <= preverjaniZnak) && (preverjaniZnak <= '9') true: v spremenljivki preverjaniZnak je števka ('a' <= malaČrka) && (malaČrka <= 'z') Preverjamo, če je v spremenljivki malaČrka res mala črka. Je "desno" od 'a' in "levo" od 'z' dejansko gre za kode znakov, zato z znaki lahko računamo Console.WriteLine('a') izpiše se koda znaka 'a' (char)('a' + 2) 'c' (char)('A' + 'k' – 'a') 'K'
string <--> char • Iz znaka v niz • char znakKotZnak = 'm'; • string znakKotNiz = "" + znakKotZnak; • Iz niza znak • niz[i] i-ti znak • string znakKotNiz = "m"; • char znakKotZnak = znakKotNiz[0];
Preštej števke v nizu Preberemo niz Pregledamo vsak znak znak = niz[i]; // tekoci znak Če je števka, povečamo števec za 1 if (('0' <= znak) && (znak <= '9')) { // ce je stevka koliko_stevk++; // povečanje za 1} Izpišemo rezultat
Preštej števke v nizu i = 0; while (i < dol_niza) { znak = niz[i]; // tekoci znak if (('0' <= znak) && (znak <= '9')) { // ce je stevka koliko_stevk = koliko_stevk + 1; } i = i + 1; } rezultat = "V nizu " + niz + " je " + koliko_stevk + " stevk.";
Primerjanje nizov Z relacijskim operatorjem == Metodi Equals Compare s1.Equals("bla") : ali je niz shranjen v s1 enak nizu bla – rezultat true ali false s1 == “bla” s1.Equals(s2) : ali je niz shranjen v s1 enak nizu shranjenemu v s2 s1 == s2
Primerjanje nizov Nize primerjamo leksikografsko (po abecedi) Niz "Matija" je manjši kot niz "Mojca", ker sta prva znaka enaka, drugi znak pa je v prvem nizu ('a') manjši kot v drugem nizu ('o'). String.Compare(s1,"bla") : vrne 0, če je niz shranjen v s1 enak nizu bla, neg. število , če je niz v s1 manjši od niza "bla" in poz. število, če je večji. String.Compare("matija","mojca") : vrne negativno število bool jeManj = String.Compare(n1,n2) < 0; Kako si zapomniti? Zanima nas če velja niz1 <= niz2 (če je torej niz1 manjši (prej po abecedi) ali enak niz2) niz1.Compare(niz2) <= 0 Uporabimo torej ustrezen operator in primerjamo z 0
IndexOf "Mojca je rekla joj".IndexOf("oj") Dobimo 1 – podniz "oj" se v nizu "Mojca je rekla joj" začne na mestu z indeksom 1 Če podniza ni, je rezultat –1 "Mojca je rekla joj".IndexOf("aj") je torej -1
Preštej samoglasnike Za vsak znak ugotovimo ali je samogasnik Sestavljeni pogoj (znak == 'a') || (znak = 'A') ||(znak == 'e') || (znak = 'E') || (znak == 'I') || (znak = 'i') || (znak == 'o') || (znak = 'O') ||(znak == 'u') || (znak = 'U') Lahko z IndexOf string samoglasniki = "AEIOUaeiou"; samoglasniki.IndexOf(znak) != -1
Preštej samoglasnike string samoglasniki = "AEIOUaeiou"; Console.Write("Vnesi poljubno besedilo: "); string niz = Console.ReadLine(); int dol_niza = niz.Length; // dolzina niza int i = 0; char znak; while(i < dol_niza) { // pregledamo vse znake znak=niz[i]; if (samoglasniki.IndexOf(znak) != -1)// znak je samoglasnik st_samo++; i++; } rezultat = "V nizu " + niz + "je " + st_samo + " samoglasnikov.";