Naloge - Tabele v C#

Naloge - Tabele v C#

Avtor: Gregor Šoln

1. Naloga

Navodilo naloge

Sestavi tabelo, ki bo omogočala hranjenje letnic rojstev 6 oseb. Podatki v tabeli bodo tipa integer. Letnice pa so: 1967, 1948, 1927, 1984, 1899, 2001. Ker sta se v skupino 6 ljudi prijavila še 2 nova člana, tabelo ustrezno razširi. Nato ji dodaj letnice: 1999, 1992. Vsebino tabele na koncu izpiši z uporabo zanke foreach.

Postopek reševanja

  • Deklaracija tabele
  • Vnos šestih letnic
  • Razišrjanje tabele
  • Vnos dodatnih letnic
  • Izpis vsebine

Reševanje Koda

Reševanje

Tabelo dolžine 6, ki bo hranila podatkovni tip integer deklariramo z ukazom int[] letnice = new int[6]; Vsako letnico posebej vnesemo v tabelo z ukazom letnice[i]=letnica; , kjer i predstavlja ustrezno pozicijo elementa v tabeli. Letnica pa je ustrezna vrednost, ki jo želimo vnesti.
Tabelo razširimo z ukazom Array.Resize(ref tabela, tabela.Lenght + 2); . Nato vnesemo preostali letnici za osebi, ki sta prišli v skupino. Z uporabo foreach zanke vsebino izpišemo.

Zapri

Koda


//deklariramo tabelo
int[] tabela = new int[6];

//vnesemo letnice v tabelo
tabela[0]=1967;
tabela[1]=1984;
tabela[2]=1927;
tabela[3]=1984;
tabela[4]=1899;
tabela[5]=2001;

//tabelo razširimo
Array.Resize(ref tabela, tabel.Lenght + 2);

//dodamo dodatni letnici
tabela[6]=1999;
tabela[7]=1992;

foreach(var vrednost in tabela) {
    Console.WriteLine(vrednost);
    }

Zapri

2. Naloga

Navodilo naloge

Sestavi funkcijo najPocasnejsi, ki za parameter prejme tabelo, ki vsebuje hitrosti različnih avtomobilov. Hitrosti so podane v km/h. Najpočasnejšem avtomobilu spremeni hitrost na vrednost 0. Nato izpiši vse elemente tabele in pripadajoče ključe tabele.

Vsebina tabele je: 140, 165, 173, 134, 195, 123, 154.

Postopek reševanja

  • Z metodo MIN poiščemo najmanjšo vrednost in pripadajoči ključ
  • Najmanjšo hitrost spremenimo na vrednost 0
  • Izpišemo vrednosti tabele in ključe

Reševanje Koda

Reševanje

Funkcija prejme tabelo z vrednostmi in z vgrajeno funkcijo MIN poiščemo najmanjši element. Nato poiščemo še ustrezen ključ, ki določi pozicijo elementa v tabeli. Tam kjer smo našli najmanjši element spremenimo vrednost na 0. Vsebino ter pripadajoče ključe izpišemo s pomočjo zanke for.

Zapri

Koda


   public static void Main(args [] ) {
najPocasnejsiAvto(hitrosti);
for(int i=0; i<hitrosti.Lenght; i++) {
    Console.WriteLine(i + " - " + hitrosti[i]);
    }

public static vodi najPocasnejsiAvto(int[] hitrosti) {
    int pozicija_najpocasnejsega = Array.IndexOf(hitrosti, Min(hitrosti));
    hitrost[pozicija_najpocasnejsega] = 0;
}

Zapri

Video: 2. Naloga

Kviz

  • Kako deklariramo 2-dimenzionalno tabelo nizov?
    Odgovor
  • Kako izračunamo dolžino tabele?
    Odgovor
  • Ali lahko tabelo deklariramo brez ukaza new?
    Odgovor
  • Kakšnega podatkovnega tipa mora biti tabela, če bi hoteli hraniti podatke nazivih držav?
    Odgovor
  • Kako dostopamo do zadnjega elementa tabele?
    Odgovor

Podrobnosti

Deklaracija tabele podatkovnega tipa integer.
int[] ime_tabele = new int[dolžina_tabele];

Zapri

Podrobnosti

Dolžino tabele izvemo ob klicu vgrajene funkcije Length().

primer:
int[] tabela = new int[10];

//dolžino izpišemo z funkcijo WriteLine
Console.WriteLine(tabela.Length().ToString());

Zapri

Podrobnosti

Tabelo lahko deklariramo tudi brez ukaza new. To storimo tako da elemente ob deklaraciji naštejemo.

primer: int[] tabela = {1, 3, 5, 0, 2, 44};

Zapri

Podrobnosti

Naziv države je podan kot niz. Za hranjenje nizov deklarairamo tabelo podatkovnega tipa string.

primer: string[] drzave = new string[100];

Zapri

Podrobnosti

Do zadnjega elementa tabele dostopamo s pomočjo funkcije, ki nam izračuna dolžino tabele.

primer:
// izpiši zadnji element tabele
Console.WriteLine(tabel.Lenght-1);

Zapri

Dodatne naloge

3. Naloga

S pomočjo funkcije Console.ReadLine(); uporabnik vnese 10 različno dolgih nizov. Nize sproti shranjuj v tabelo. Tabelo na koncu uredi naraščujoče po vrednostih dolžin nizov.

4. Naloga

Izračunaj skalarni produkt dveh vektorjev, ki ju funkcija zmnoziInSestej prejme kot parametra. Parametra (vektorja) sta podana v obliki tabele. Istoležne elemente tabel zmnoži, nato pa produkte seštej in jih vrni kot rezultat funkcije.

5. Naloga

Deklariraj tabelo boolovih vrednosti z imenom decimalke in ji dodaj vsebino {true, false, false, true, true, true}. Sprehodi se po vsebini tabele in sproti izpisuj podatke. Za vrednost false izpiši naključno celo število, pa vrednost true pa izpiši poljubno realno število.

6. Naloga

Sestavi funkcijo spremeniNiz, ki za parameter prejme tabelo nizov. Nizi v tabeli so sestavljeni samo iz malih črt.
Deklariraj novo tabelo istega podatkovnega tipa. Elemente tabele kopiraj v novo tabelo, pri tem pa morajo nizi v novi tabeli imeti veliko začetnico. Funkcija naj vrne novo tabelo kjer so nizi z velikimi začetnicami.

7. Naloga

Sestavi funkcijo vrednostiZnakov, ki za parameter prejme tabelo znakov.
Deklariraj novo tabelo vrednosti, ki bo podatkovnega tipa integer. Vsak znak iz tabele znakov pretvori v število glede na ASCII kodo in število shrani v tabelo vrednosti. Nato obe tabeli izpiši tako, da se bo za vsak znak poleg izpisala njegova ASCII vrednost.

0%
0%