[C] Operacije sa kompleksnim brojevima

Teme vezane za console/GUI programiranje u C/C++ jeziku
1 post • Stranica: 1/1.

[C] Operacije sa kompleksnim brojevima

PostPostao/la miki » 25 tra 2014, 07:14

kompleh.c
Kod: Označi sve
#include "kompleh.h"
#include <math.h>
#include <stdio.h>

Kompl kompl  (double r,double i){
   Kompl c; c.re = r; c.im = i; return c;
}

Kompl zbir   (Kompl a,Kompl b){
   a.re += b.re; a.im += b.im; return a;
}

Kompl razlika(Kompl a,Kompl b){
   a.re -= b.re; a.im -= b.im; return a;
}

Kompl proizvod(Kompl a,Kompl b){
   Kompl c;
   c.re = a.re * b.re - a.im * b.im; c.im = a.im * b.re + a.re * b.im;
   return c;
}

Kompl kolicnik(Kompl a,Kompl b){
   Kompl c;
   double d = pow(b.re,2) + pow(b.im,2);
   c.re = (a.re*b.re + a.im*b.im)/d; c.im = (a.im*b.re - a.re*b.im)/d;
   return c;
}

Kompl citaj (void) {
   Kompl c;
   scanf("%lf%lf",&c.re,&c.im);
   return c;
}

void pisi (Kompl a){
   printf("%.3f%cj%.3f",a.re,(a.im<0?'-':'+'),fabs(a.im));
}

kompleh.h
Kod: Označi sve
/* kompleks.x */
typedef struct { double re,im; } Kompl;

Kompl komp     (double r,double i);
Kompl zbir     (Kompl a,Kompl b);
Kompl razlika  (Kompl a,Kompl b);
Kompl proizvod (Kompl a,Kompl b);
Kompl kolicnik (Kompl a,Kompl b);
Kompl citaj    (void);
void pisi      (Kompl a);

Glavni kod
Kod: Označi sve
#include "kompleh.h"
#include <stdio.h>

main () {
   Kompl x,y,z,j = {0,1};
   while(1) {
      printf("\nPrvi broj(re,im)?"); x = citaj ();
      printf("Drugi broj(re,im)?"); y = citaj ();
   if(y.re==0 && y.im==0) break;
      z = zbir (x,y); printf("x+y  = "); pisi(z); printf("\n");
      z = razlika (x,y); printf("x-y  = "); pisi(z); printf("\n");
      z = proizvod (x,y); printf("x*y  = "); pisi(z); printf("\n");
      z = kolicnik (x,y); printf("x/y  = "); pisi(z); printf("\n");
   }
   z = proizvod(j,j); printf("\nj^2  = "); pisi(z); printf("\n");
}
Izrada kompletnih C/C++ zadataka, javite se na krsticm1996@gmail.com

1 post • Stranica: 1/1.

Na mreži

Trenutno korisnika/ca: / i 1 gost.