Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- struct urojone
- {
- int a[2];
- int b[2];
- }uro;
- void wybor(int *rodzaj)
- {
- printf("Program wykonuje podstawowe operacje arytmetyczne na liczbach zespolonych\n");
- printf("Jesli chcesz dodac liczby zespolone nacisnij 1\nJesli chcesz odejmowac liczby zespolone nacisnij 2\nJeœli chcesz pomnozyc liczby zespolone nacisnij 3\nJeœli chcesz podzielic liczby zespolone nacisnij 4\n");
- scanf("%d", &*rodzaj);
- }
- void liczby(struct urojone *s)
- {
- printf("Podaj liczbe rzeczywista do 1 liczby zespolonej\n");
- scanf("%d", &s->a[0]);
- printf("Podaj liczbe urojona do 1 liczby zespolonej\n");
- scanf("%d", &s->a[1]);
- printf("Podaj liczbe rzeczywista do 2 liczby zespolonej\n");
- scanf("%d", &s->b[0]);
- printf("Podaj liczbe urojona do 2 liczby zespolonej\n");
- scanf("%d", &s->b[1]);
- printf("Twoja pierwsza liczba zespolona: %d %dj\n",uro.a[0],uro.a[1]);
- printf("Twoja druga liczba zespolona: %d %dj\n",uro.b[0],uro.b[1]);
- }
- void dodawanie(int wynik[2])
- {
- wynik[0]=uro.a[0]+uro.b[0];
- wynik[1]=uro.a[1]+uro.b[1];
- }
- void odejmowanie(int wynik[2])
- {
- wynik[0]=uro.a[0]-uro.b[0];
- wynik[1]=uro.a[1]-uro.b[1];
- }
- void mnozenie(int wynik[2])
- {
- int j=-1;
- wynik[0]=uro.a[0]*uro.b[0]+(uro.a[1]*uro.b[1]*j);
- wynik[1]=uro.a[0]*uro.b[1]+uro.a[1]*uro.b[0];
- //printf("\n\n%d %dj", wynik[0], wynik[1]);
- }
- void dzielenie(int wynik[2])
- {
- int j=-1;
- wynik[0]=(uro.a[0]*uro.b[0]+(uro.a[1]*(uro.b[1]*(-1))*j))/(pow(uro.b[0],2)-pow(uro.b[1],2)*j);
- wynik[1]=(uro.a[0]*(uro.b[1]*(-1))+uro.a[1]*uro.b[0])/(pow(uro.b[0],2)-pow(uro.b[1],2)*j);
- }
- void obliczenia(int rodzaj, int wynik[2])
- {
- if(rodzaj == 1)
- {
- dodawanie(wynik);
- }
- if(rodzaj == 2)
- {
- odejmowanie(wynik);
- }
- if(rodzaj == 3)
- {
- mnozenie(wynik);
- }
- if(rodzaj == 4)
- {
- dzielenie(wynik);
- }
- }
- int main()
- {
- int rodzaj;
- int wynik[2];
- wybor(&rodzaj);
- liczby(&uro);
- obliczenia(rodzaj,wynik);
- printf("Wynik wynosi %d %dj",wynik[0],wynik[1]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement