Advertisement
Danielos168

Zespolona

Mar 5th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.77 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. //Zadanie 1
  8.  
  9. //Dla struktury Zespolona z zadania domowego zaimplementuj
  10. //metody statyczne i właściwości.
  11.  
  12. struct Zespolona
  13. {
  14.     double re;
  15.     double im;
  16.  
  17.     public Zespolona(double re, double im)
  18.     {
  19.         this.re = re;
  20.         this.im = im;
  21.     }
  22.  
  23.     public double Re
  24.     {
  25.         set
  26.         {
  27.             re = value;
  28.         }
  29.         get
  30.         {
  31.             return re;
  32.         }
  33.     }
  34.  
  35.     public double Im
  36.     {
  37.         set
  38.         {
  39.             im = value;
  40.         }
  41.         get
  42.         {
  43.             return im;
  44.         }
  45.     }
  46.  
  47.  
  48.     public double Moduł
  49.     {
  50.         get
  51.         {
  52.             return Math.Sqrt(re * re + im * im);
  53.         }
  54.     }
  55.  
  56.     public static Zespolona Dodaj(Zespolona z1, Zespolona z2)
  57.     {
  58.         Zespolona w = new Zespolona(z1.re + z2.re, z2.im + z1.im);
  59.         return w;
  60.     }
  61.  
  62.     public static Zespolona Odejmij(Zespolona z1, Zespolona z2)
  63.     {
  64.         Zespolona w = new Zespolona(z1.re - z2.re, z1.im - z2.im);
  65.         return w;
  66.     }
  67.  
  68.  
  69.     public static Zespolona Pomnóż(Zespolona z1, Zespolona z2)
  70.     {
  71.         Zespolona w =
  72.             new Zespolona(z2.re * z1.re - z2.im * z1.im, z2.im * z1.re + z1.im * z2.re);
  73.         return w;
  74.     }
  75.  
  76.     public static Zespolona Podziel(Zespolona z1, Zespolona z2)
  77.     {
  78.         double wynikRe, wynikIm, mianownik, LicznikRe, licznikIm;
  79.         licznikIm = (z1.re * (-1) * z2.im) + (z1.im * z2.re);
  80.         LicznikRe = (z1.re * z2.re) + (z1.im * z2.im);
  81.         mianownik = (z2.re * z2.re) + (z2.im * z2.im);
  82.         wynikIm = licznikIm / mianownik;
  83.         wynikRe = LicznikRe / mianownik;
  84.         return new Zespolona(wynikIm, wynikRe);
  85.     }
  86.  
  87.  
  88.     public override string ToString()
  89.     {
  90.         return string.Format("Część rzeczywista = {0}, Część urojona = {1}i,", re, im);
  91.     }
  92. }
  93.  
  94. class Program
  95. {
  96.     static void Main(string[] args)
  97.     {
  98.         Zespolona z1 = new Zespolona(1, 2);
  99.         Zespolona z2 = new Zespolona(2, 1);
  100.         Console.WriteLine(z1);
  101.         Console.WriteLine(z2);
  102.         Zespolona z3 = Zespolona.Odejmij(z1, z2);
  103.         Console.WriteLine(z3);
  104.         Zespolona z4 = Zespolona.Dodaj(z1, z2);
  105.         Console.WriteLine(z4);
  106.         Zespolona z5 = Zespolona.Pomnóż(z1, z2);
  107.         Console.WriteLine(z5);
  108.         Zespolona z6 = Zespolona.Podziel(z1, z2);
  109.         Console.WriteLine(z6);
  110.         Console.WriteLine(z1.Moduł);
  111.         Console.WriteLine(z1.Re);
  112.         Console.WriteLine(z1.Im);
  113.         z1.Re = 8;
  114.         Console.WriteLine(z1);
  115.         z1.Im = 6;
  116.         Console.WriteLine(z1);
  117.         Console.WriteLine(z1.Moduł);
  118.         Console.Read();
  119.     }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement