25.09 - vežbe - rad sa nizovima - kao na času (uređivanje lekcije je završeno)
Zadatak 1 - prvi deo: Kreirati dva niza celih brojeva i niz slova. Za ispis niza kreirati metodu ispisNiza koja kao parametar uzima naziv niza. Upotrebiti overloading tako da se sa istim nazivom pozivaju različite metode - u zavisnosti od vrste niza koji joj se prosledi.
Metode - rešenja:
( metoda kojoj se kao parametar daje naziv niza celih brojeva )
static void ispisniza(int[] niz)
{
foreach (int broj in niz)
{
Console.Write(broj + " ");
}
Console.WriteLine();
}
i ( metoda kojoj se kao parametar daje naziv niza slova, tj.karaktera )
static void ispisniza(char[] niz)
{
foreach (char slovo in niz)
{
Console.Write(slovo + " ");
}
Console.WriteLine();
}
Napomena: metode postaviti unutar klase Program, a pre metode Main.
Drugi deo zadatka: U glavnom delu (u metodi Main) kreirati niz celih brojeva i ispisati ga na ekranu. Nakon toga kreirati niz slova pa ispisati i njega. Ime metode je isto ali se "potpis metode" razlikuje.
Rešenje: ( šta je u metodi Main )
int[] brojevi;
brojevi = new int[7];
ispisniza(brojevi); // ne ispisuje se ništa. Zašto?
int[] brojevi2 = new int[5]; // kraći način deklaracije
brojevi[0] = 15;
ispisniza(brojevi); // tek sada se ispisuju elementi niza - svi nedodeljeni su 0
brojevi2[3] = 3;
ispisniza(brojevi2); // ispisuje se: 0 0 0 3 0
char[] slova = { 'a', 'b', 'c' }; // deklaracija niza uz inicijalizaciju - kraći način
ispisniza(slova); // ispisuje se: a b c
Console.WriteLine("******"); // prelazak na sledeći deo, da na ekranu odvojimo delove zadatka
int[] brojevi3 = new int[] { 10, 0, 10, 0, 10 }; // deklaracija niza uz inicijalizaciju - duži način
ispisniza(brojevi3); // ispisuje: 10 0 10 0 10
var brojevi4 = new int[] { 10, 20, 30 };
ispisniza(brojevi4); // ispisuje 10 20 30
Zadatak 2 - prvi deo: Kreirati metodu sa istim imenom (overloadnig) kojom se ispisuje matrica celih brojeva, a u glavnom delu (u metodi Main) napraviti matricu brojeva i ispisati je na ekranu (nastaviti rad u istom projektu).
Rešenje: ( metoda kojoj se kao parametar daje naziv matrice celih brojeva )
static void ispisniza(int[,] niz)
{
for (int i = 0; i<niz.GetLength(0);i++)
{
for (int j = 0; j<niz.GetLength(1);j++)
{
Console.Write(niz[i,j]+" ");
}
Console.WriteLine();
}
Console.WriteLine();
}
kako to izgleda u nastavku metode ( u metodi Main )
int[,] matrica = new int[3,3]; matrica[1,1] = 5; // ostavljamo da su svi ostali elementi matrice 0 ispisniza(matrica);
Drugi deo zadatka: U glavnom delu (u metodi Main) kreirati jo[ jednu matricu, uz istovremenu inicijalizaciju, pa je ispisati.
kako to izgleda u nastavku metode ( u metodi Main )
int[,] m2={
{1,2,3},
{4,5,6},
{7,8,9}
};
ispisniza(m2);
Zadatak 3: Kreirati niz nizova (jagged Array) celih brojeva i ispisati ga (nastaviti rad u istom projektu).
--> kako to izgleda u nastavku metode ( u metodi Main )
Console.WriteLine("**************"); // da odvojimo ovu celinu od prethodne
//jagged aray//
int[][] brojeviJ = new int[3][]; // niz nizova brojeviJ se sastoji od 3 niza
brojeviJ[0] = new int[3] { 1, 0, 1 }; // prvi niz ima 3 elementa
brojeviJ[1] = new int[4] { 0, 0, 1, 2 }; // drugi niz ima 4 elementa
brojeviJ[2] = new int[2] { 1, 2 }; // treci niz ima 2 eementa
for (int i = 0; i < brojeviJ.Length; i++) // primera radi, ne koristimo posebnu metodu ovaj put
{
Console.Write("Red " + i + ": ");
foreach (int x in brojeviJ[i])
{
Console.Write(x + " ");
}
Console.WriteLine();
}
Zadatak 4: Korišćenjem ugrađenih metoda za rad sa nizovima ispisati brij elemenata svakog od korišćenih nizova (nastaviti rad u istom projektu).
--> kako to izgleda u nastavku metode ( u metodi Main )
Console.WriteLine("****************");
Console.WriteLine("niz brojeva ima elemenata " + brojevi.Length);
Console.WriteLine("niz brojeva2 ima elemenata " + brojevi2.Length);
Console.WriteLine("niz brojeva3 ima elemenata " + brojevi3.Length);
Console.WriteLine("niz brojeva4 ima elemenata " + brojevi4.Length);
Console.WriteLine("niz slova ima elemenata " + slova.Length);
Console.WriteLine("niz matrica ima elemenata " + matrica.Length);
Console.WriteLine("niz matrica2 ima elemenata " + m2.Length);
... ceo projekat je već postavljen (pre ove stranice) - spakovano u 7z arhivu....
Dodatak: za one koji žele da znaju više - još jedan način za ispis elemenata nazubljenog niza - kraći i još jasniji:
foreach (var subArray in jaggedArray) { // u našem zadatku bi bilo da se umesto jaggedArray piše brojeviJ
foreach (var element in subArray) {
Console.Write(element + " ");
}
Console.WriteLine();
}