コード例 #1
0
        static void Main(string[] args)
        {
            int[] arr1 = { 1, 2, 5, 0, 0, 8 };
            int[] arr2 = { 3, 0, 4, 6, 0, 0, 10 };
            int[] arr3 = { 4, 0, 5, 6, 3, 4 };
            ListaJednokierunkowa wielomian1 = ListaJednokierunkowa.CreateFromArray(arr1);
            ListaJednokierunkowa wielomian2 = ListaJednokierunkowa.CreateFromArray(arr2);
            ListaJednokierunkowa wielomian3 = ListaJednokierunkowa.CreateFromArray(arr3);

            wielomian1.Show();
            Console.WriteLine();
            wielomian2.Show();
            Console.WriteLine();

            wielomian1.Dodaj(wielomian2);
            wielomian1.Show();

            wielomian1.Odejmij(wielomian3);
            wielomian1.Show();

            Console.WriteLine();
            Console.Write("Przed rozniczka:");
            wielomian2.Show();
            Console.Write("Po rozniczkowaniu:");
            wielomian2.Rozniczkoj();
            wielomian2.Show();

            Console.ReadKey();
        }
コード例 #2
0
        // FuNKCJA STATYCZNA - tworzy wielomian z tablicy
        public static ListaJednokierunkowa CreateFromArray(int[] data)
        {
            ListaJednokierunkowa result = new ListaJednokierunkowa();

            for (int wykladnik = 0; wykladnik < data.Length; wykladnik++)
            {
                int wspolczynnik = data[wykladnik];
                if (wspolczynnik == 0)
                {
                    continue;
                }
                result.AddFront(data[wykladnik], wykladnik);
            }
            return(result);
        }
コード例 #3
0
 // Odejmuje od wielomianu drugi wielomian
 public void Odejmij(ListaJednokierunkowa w2)
 {
     // przechodzimy po this.head
     for (Node temp = w2.head; temp != null; temp = temp.next)
     {
         if (this.DejMnieWspolczynnik(temp.wykladnik) != 0)                     // odejmowanie
         {
             this.DodajDoWspolczynnika(temp.wykladnik, temp.wspolczynnik * -1); //tricky mnożenie * -1
         }
         else // dodawanie nowego
         {
             this.DodajNowyWykladnik(temp.wykladnik, temp.wspolczynnik * -1);
         }
     }
 }
コード例 #4
0
 // Dodaje do wielomianu drugi wielomian
 public void Dodaj(ListaJednokierunkowa w2)
 {
     // przechodzimy po w2
     for (Node temp = w2.head; temp != null; temp = temp.next)
     {
         if (this.DejMnieWspolczynnik(temp.wykladnik) != 0) // sumowanie
         {
             this.DodajDoWspolczynnika(temp.wykladnik, temp.wspolczynnik);
         }
         else // dodawanie nowego
         {
             this.DodajNowyWykladnik(temp.wykladnik, temp.wspolczynnik);
         }
     }
 }