static void Main(string[] args)
        {
            RefTip rt1 = new RefTip(); // na hrpi
            VrijednTip vt1 = new VrijednTip();   // na stogu

            rt1.X = 5; // dereferencira pokazivač
            vt1.X = 5; // promjena na stogu

            Console.WriteLine("rt1.X = {0}", rt1.X);
            Console.WriteLine("vt1.X = {0}", vt1.X);

            Console.WriteLine("Inicijaliziramo nove objekte i pridružimo im postojeće");
            RefTip rt2 = rt1;
            VrijednTip vt2 = vt1;

            Console.WriteLine("Mijenjamo rt1.X");
            rt1.X = 1; // promijenit će "original" i "presliku"
            Console.WriteLine("rt1.X = {0}", rt1.X);
            Console.WriteLine("rt2.X = {0}", rt2.X);

            Console.WriteLine("Mijenjamo vt1.X");
            vt1.X = 1;
            Console.WriteLine("vt1.X = {0}", vt1.X);
            Console.WriteLine("vt2.X = {0}", vt2.X);

            Console.WriteLine("GOTOVO!!!");
            Console.ReadLine();
        }
        public static void DodavanjeStruktureUArrayList()
        {
            ArrayList lista = new ArrayList();
            VrijednTip vt = new VrijednTip();

            for (int i = 0; i < 10; ++i)
            {
                vt.X = i;
                lista.Add(vt);
            }

            // TODO: Dodati petlju koja će ispisati član X za svaki element kolekcije lista.
        }
        public static void PridruživanjeStruktura(int prvaVrijednost, int drugaVrijednost)
        {
            VrijednTip vt1 = new VrijednTip();
            vt1.X = prvaVrijednost;

            // TODO: Zadati novo ime "vt2" za objekt tipa VrijednTip i pridružiti mu vrijednost objekta "vt1"

            // TODO: Dodati dvije naredbe koje će ispisati vrijednosti članova vt1.X, odnosno vt2.X

            vt1.X = drugaVrijednost;

            // TODO: Dodati dvije naredbe koje će ponovno ispisati vrijednosti članova vt1.X, odnosno vt2.X

            // TODO: Pokrenuti program i provjeriti ispis
        }
        public static void DodavanjeStruktureUArrayList()
        {
            ArrayList  lista = new ArrayList();
            VrijednTip vt    = new VrijednTip();

            for (int i = 0; i < 10; ++i)
            {
                vt.X = i;
                lista.Add(vt);
            }

            //  Dodati petlju koja će ispisati član X za svaki element kolekcije lista.
            foreach (VrijednTip r in lista)
            {
                Console.WriteLine(r.X);
            }
        }
        static void Main(string[] args)
        {
            List<VrijednTip> lista = new List<VrijednTip>();
            VrijednTip vt = new VrijednTip();
            for (int i = 0; i < 10; ++i)
            {
                vt.X = i;
                lista.Add(vt);
            }

            foreach (VrijednTip v in lista)
            {
                Console.WriteLine(v.X); // ispisat će: 0, 1, 2...9
            }

            Console.WriteLine("GOTOVO!!!");
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            List <VrijednTip> lista = new List <VrijednTip>();
            VrijednTip        vt    = new VrijednTip();

            for (int i = 0; i < 10; ++i)
            {
                vt.X = i;
                lista.Add(vt);
            }

            foreach (VrijednTip v in lista)
            {
                Console.WriteLine(v.X); // ispisat će: 0, 1, 2...9
            }

            Console.WriteLine("GOTOVO!!!");
            Console.ReadKey();
        }
        public static void PridruživanjeStruktura(int prvaVrijednost, int drugaVrijednost)
        {
            VrijednTip vt1 = new VrijednTip();

            vt1.X = prvaVrijednost;

            //  Zadati novo ime "vt2" za objekt tipa VrijednTip i pridružiti mu vrijednost objekta "vt1"
            VrijednTip vt2 = vt1;

            //  Dodati dvije naredbe koje će ispisati vrijednosti članova vt1.X, odnosno vt2.X
            Console.WriteLine(vt1.X);
            Console.WriteLine(vt2.X);


            vt1.X = drugaVrijednost;

            //  Dodati dvije naredbe koje će ponovno ispisati vrijednosti članova vt1.X, odnosno vt2.X
            Console.WriteLine(vt1.X);
            Console.WriteLine(vt2.X);

            // Pokrenuti program i provjeriti ispis
        }