Witam, proszę sprawdzenie czy ten program, który napisałem działa poprawnie. Oto treść polecenia:
Napisać program wczytujący z klawiatury liczby zespolone Z1 i Z2 typu double _Complex oraz funkcje: sumDiff obliczającą i zwracającą sumę i różnicę argumentów zespolonych, funkcję prodQ obliczającą i zwracającą iloczyn i iloraz argumentów zespolonych. Funkcje wywołać w funkcji main() i wydrukować wyniki.
#include <stdio.h>
#include <stdlib.h>
#include <complex.h>
void sumDiff(double complex z1, double complex z2, double complex wartosciComplex[]);
void prodQ(double complex z1,double complex z2,double wartosciComplex2[]);
int main()
{
double _Complex z1;
double _Complex z2;
double complex wartosciComplex[2];
double complex wartosciComplex2[2];
printf("\n Podaj liczbe z1:");
scanf("%lf %lf",&(__real__ z1),&(__imag__ z1));
printf("\n Podaj liczbe z2:");
scanf("%lf %lf",&(__real__ z2),&(__imag__ z2));
printf("\n Liczba zespolona z1= %lf +j%lf",creal(z1),cimag(z1));
printf("\n Liczba zespolona z2= %lf +j%lf",creal(z2),cimag(z2));
sumDiff(z1,z2,wartosciComplex);
printf("\n Suma wynosi: %lf",wartosciComplex[0]);
printf("\n Roznica wynosi: %lf",wartosciComplex[1]);
prodQ(z1,z2,wartosciComplex2);
printf("\n Iloczyn wynosi: %lf",wartosciComplex2[0]);
printf("\n Iloraz wynosi: %lf",wartosciComplex2[1]);
getchar();
return 0;
}
void sumDiff(double complex z1, double complex z2, double complex wartosciComplex[])
{
double suma=0, roznica=0;
suma=carg(z1)+carg(z2);
roznica=carg(z1)-carg(z2);
wartosciComplex[0]=suma;
wartosciComplex[1]=roznica;
}
void prodQ(double complex z1,double complex z2,double wartosciComplex2[])
{
double iloraz,iloczyn;
iloczyn=(carg(z1))*(carg(z2));
iloraz=carg((z1))/(carg(z2));
wartosciComplex2[0]=iloczyn;
wartosciComplex2[1]=iloraz;
}