Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сука лаби.docx
Скачиваний:
17
Добавлен:
12.05.2015
Размер:
848.39 Кб
Скачать

Результати виконання програми

v1 = (5)+j*(-2) //результат додавання x1 і y1

v1 = (19)+j*(7) //результат множення x1 і y1

v2 = (5)+j*(-2) //результат додавання x1 і y1

v2 = (5)+j*(-2) //результат додавання x1 і y1

v2 = (5.385165)*(0.371391 + j*(-0.928477)) //тригонометричний запис

Введiть масив C1 (n комплексних чисел)

//із клавіатури вводяться такі числа 1 2 4 3 6 5 7 8

control1 1+j*2 4+j*3 6+j*5 7+j*8

Пошук номера першого елемента массиву,

y якого дiйсна частина перевищує уявну

Простий цикл (C1) im1=1

Цикл FOR (C2) im2=1

Цикл WHILE (C3) im3=1

Цикл DO WHILE (C3) im4=1

Програма COMPLEX2.CPP

#include <iostream.h>

#include <complex.h>

#include <conio.h>

#define n 4

void main ()

{

int i, imax;

double norm_max, t;

complex x = complex(3, 4), y = complex(4, -3),

z = complex(-3, 2), w = complex(1.5, -4), v, xconj;

v = (x + y - z*w)/x; v = v*v;

cout << "\n v=" << v;

getch(); clrscr();

//функцiї бiблiотеки complex.h

double xre, xim, xnorm, x

cout << "\n x = " << x;

xre = real(x); cout << " xre = " << xre; //дiйсна частина

xim = imag(x); cout << " xim = " << xim; //уявна частина

xnorm = norm(x); cout << " xnorm = " << xnorm; //норма

xabs = abs(x); cout << " xabs = " << xabs; //абсолютне значення

xfi = arg(x); cout << " xfi = " << xfi; //кутовий аргумент

xconj = conj(x); cout << "\n xconj = " << xconj;

//трiгонометричний запис х

cout << “\n x = (" << xabs << ")*(cos(" << xfi << “) + j*sin(" << xfi << "))";

//показниковий запис

cout << "\n x = (" << xabs << ")* exp(j*" << xfi <<")";

//z = exp(x) = exp(real(x))*(cos(imag(x)) + j * sin(imag(x)))

t = exp(real(x)); z = complex (t*cos(imag(x)), t*sin(imag(x)));

cout << "\n\tz = " << z;

complex c3[n]; void prnt3(complex *com);

cout << "\n\n Введiть масив C3 (n комплексних чисел) \n";

for (i = 0; i < n; i ++)

cin >> c3[i];

prnt3(c3);

/*Циклiчний обчислювальний процес*/

/*Пошук елемента массиву iз найбiльшою нормою*/

cout<<"\n\n\tПошук елемента массиву iз найбiльшою нормою";

norm_max=0;

cout << "\n\n\t Простий цикл (C1) ";

i=0;

m: if (norm(c3[i]) > norm_max)

{

norm_max = norm(c3[i]); imax = i;

}

i++; if (i < n) goto m;

cout << "\tc3max = " << c3[imax];

getch();

cout << "\n\n\t Цикл FOR (C2)";

norm_max = norm(c3[0]); imax = 0;

for (i = 1; i < n; i ++)

{

if (norm(c3[i]) > norm_max)

{

norm_max = norm(c3[i]); imax = i;

}

}

cout << "\t c3max = " << c3[imax];

getch();

cout << "\n\n\t Цикл WHILE (C3)";

i = 1; norm_max = norm(c3[0]); imax = 0;

while (i < n)

{

if (norm(c3[i]) > norm_max)

{

norm_max = norm(c3[i]); imax = i;

}

i++;

}

cout << "\t c3max = " << c3[imax];

getch();

}

/*Функцiя виведення масиву*/

void prnt3 (complex *com)

{

cout << " control34 ";

for (int i = 0; i < n; i ++)

cout << *com++ << " ";

}