Skip to main content
Učilnica FRI 25/26
  • Home
  • Calendar
  • More
English ‎(en)‎
English ‎(en)‎ Slovenščina ‎(sl)‎ Македонски ‎(mk)‎ Русский ‎(ru)‎ 한국어 ‎(ko)‎
You are currently using guest access
Log in
Učilnica FRI 25/26
Home Calendar
Expand all Collapse all
  1. Dashboard
  2. C
  3. Predavanja in vaje
  4. Naloge - 6. dan

Naloge - 6. dan

Completion requirements
Due: Monday, 2 October 2023, 11:59 PM

Naloga 

a) Napiši program sklad.c za delo s skladom celih števil; program naj vsebuje funkcije init(), push(int x), pop() in isEmpty(). Funkcije main() tukaj ni.

b) Napiši interaktiven program testSklada.c, ki bo omogočal testiranje uporabe sklada. Program naj na zaslon izpiše seznam ukazov:

0 - konec programa
1 - dodaj element na sklad
2 - briši element s sklada
3 - izpiši vsebino sklada

nato naj počaka na uporabnikov vnos in primerno ukrepa.

c) Prilagodi funkcije v datoteki sklad.c tako, da bo program omogočal delo z več skladi hkrati. Program testSklada.c popravi tako, da bo najprej uporabnika vprašal, koliko skladov želi uporabljati, nato pa bo uporabniku omogočal, da med temi skladi preklaplja (dodaj možnost 4 - preklopi med skladi).

Namig: sklad implementiraj kot strukturo, v kateri hraniš tabelo in indeks, ki označuje vrh sklada; tabelo ustvarite v funkciji init(), velikost naj bo podana v enem od parametrov te funkcije. Vse funkcije napiši tako, da poleg ostalih prejmejo en dodaten parameter - strukturo sklad.

Dodatna (neobvezna) naloga

Napiši program rpn.c, ki prejme računski izraz v obrnjenem poljskem zapisu (reverse polish notation) in izračuna njegovo vrednost.

Primeri:

izraz                  RPN                        rezultat
-------------------------------------------------------------
(1+3)*4                1 3 + 4 *                  16
((3+1)*(5-1))^(7-5)    3 1 + 5 1 - * 7 5 - ^      256        
2*6+3*2+7              2 6 * 3 2 * + 7 +          25

Opomba: lahko predpostaviš, da so vse številke manjše od 10 (torej je številka ena števka).

Namig: uporabi funkcije za delo s skladom iz 1. naloge.

You are currently using guest access (Log in)
Get the mobile app
Powered by Moodle
Obvestilo o avtorskih pravicah