Exemple #1
0
        public Substract Odejmowanie(Substract zespolona)
        {
            float     odejReal       = real - zespolona.WezReal();
            float     odejImaginary  = imaginary - zespolona.WezImaginary();
            Substract wynikZespolona = new Substract(odejReal, odejImaginary);

            return(wynikZespolona);
        }
Exemple #2
0
        private void button2_Click_1(object sender, EventArgs e)
        {
            string imagText1 = textBox2.Text; // .Text odnosi się do wartości, która jest tam wpisana
            string imagText2 = textBox4.Text;

            if (!imagText1.Contains('i') || !imagText2.Contains('i')) //equal w javie
            {
                MessageBox.Show("Pole liczby urojonej musi zawierać i", "UWAGA!");
                return;
            }
            float real1 = float.Parse(textBox1.Text); // Parse zmienia typ string na float

            string[] ri = textBox2.Text.Split('i');   // tak jakby dzieli nam na 2 obszary, split dzieli mi na liczbe przed i oraz na potege

            int liczba = int.Parse(ri[0]);            // 0 to moja liczba urojona, 1 to potęga i
            int potega = 1;                           // defaultowo i

            if (ri[1].Length >= 1)                    //  pokazuje czy jest jakas potega
            {
                potega = int.Parse(ri[1]);
            }
            int       znakpotegi = potegaI(potega); // zwraca czy to jest 1 czy -1
            Substract zesp1;                        // bez tego obiekt w ifie nie jest widoczny, nie działało mi coś

            if (potega % 2 == 0)
            {
                real1 += int.Parse(ri[0]) * znakpotegi; // znak potęgi musi być intem, bo inaczej lipka
                zesp1  = new Substract(real1, 0);       // 0, bo wartosc urojona sie uprościła do rzeczywistej,
            }
            else
            {
                zesp1 = new Substract(real1, liczba * znakpotegi);
            }
            float real2 = float.Parse(textBox3.Text);

            string[] ri2 = textBox4.Text.Split('i');

            int liczba2 = int.Parse(ri2[0]);
            int potega2 = 1;

            if (ri2[1].Length >= 1)
            {
                potega2 = int.Parse(ri2[1]);
            }
            int       znakpotegi2 = potegaI(potega2);
            Substract zesp2;

            if (potega2 % 2 == 0) // jeśli potega przy i jest parzysta, tzn. ze nie ma czesci urojonej, bo zostala zredukowana
            {
                real2 += int.Parse(ri2[0]) * znakpotegi2;
                zesp2  = new Substract(real2, 0);
            }
            else
            {
                zesp2 = new Substract(real2, liczba2 * znakpotegi2);
            }

            Substract wynik = zesp1.Odejmowanie(zesp2); // zwracamy nowy obiekt, ktory jest wynikiem odejmowania tych dwóch poprzednich

            label5.Text = zesp1.Wynik() + " - " + zesp2.Wynik() + " = " + wynik.Wynik();
            File.AppendAllText("Wynik.txt", "Wynik odejmowania: " + wynik.Wynik() + " ");
        }