Пример #1
0
        static void kol2_2015()
        {
            velikibroj b  = new velikibroj("1234567890");
            velikibroj b1 = new velikibroj(1234567890);

            Console.WriteLine(String.Join("", b.broj));
            //  Console.WriteLine(b1);

            b += b1;

            Console.WriteLine(b[3].ToString());

            foreach (int z in b)
            {
                Console.WriteLine(z);
            }
        }
Пример #2
0
        public static velikibroj operator +(velikibroj b1, velikibroj b2)
        {
            int    pamti = 0;
            string rez   = "";

            int[] p1 = new int[b1.broj.Length];
            int[] p2 = new int[b2.broj.Length];
            p1 = b1.broj;
            p2 = b2.broj;
            Array.Reverse(p1);
            Array.Reverse(p2);


            if (p1.Length > p2.Length)
            {
                for (int i = 0; i < p2.Length; i++)
                {
                    if (p1[i] + p2[i] + pamti >= 10)
                    {
                        rez  += (p1[i] + p2[i] + pamti) - 10;
                        pamti = 1;
                    }


                    else
                    {
                        rez += (p1[i] + p2[i] + pamti); pamti = 0;
                    }
                }
                rez += p1[p2.Length] + pamti;
                for (int i = p2.Length + 1; i < p1.Length; i++)
                {
                    rez += p1[i];
                }
            }
            else
            {
                if (p1.Length < p2.Length)
                {
                    for (int i = 0; i < p1.Length; i++)
                    {
                        if (p1[i] + p2[i] + pamti >= 10)
                        {
                            rez  += (p1[i] + p2[i] + pamti) - 10;
                            pamti = 1;
                        }


                        else
                        {
                            rez  += (p1[i] + p2[i] + pamti);
                            pamti = 0;
                        }
                    }
                    rez += p2[p1.Length] + pamti;
                    for (int i = p1.Length + 1; i < p2.Length; i++)
                    {
                        rez += p2[i];
                    }
                }
                else
                {
                    for (int i = 0; i < p2.Length; i++)
                    {
                        if (p1[i] + p2[i] + pamti >= 10)
                        {
                            rez  += (p1[i] + p2[i] + pamti) - 10;
                            pamti = 1;
                        }

                        else
                        {
                            rez  += (p1[i] + p2[i] + pamti);
                            pamti = 0;
                        }
                    }
                    if (pamti == 1)
                    {
                        rez += pamti;
                    }
                }
            }

            velikibroj b = new velikibroj(rez);

            Array.Reverse(b.broj);
            return(b);
        }