Форум программистов, компьютерный форум CyberForum.ru

Ввести комплексные числа, упорядочить их мнимые части и вывести на экран - C++

Восстановить пароль Регистрация
 
nik13666
Сообщений: n/a
03.07.2014, 10:25     Ввести комплексные числа, упорядочить их мнимые части и вывести на экран #1
Всем пртвет. Сижу на зачете и нуждаюсь в вашей помлщи. К этому коду надо добавить ввод не двух а 5 комплексных чисел упорядочить их мнимые части и вывести на экран
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
using namespace std;
struct Complex//структура
{
    float re,im;
};
Complex CMPX(float r,float i)//получаем комплексное число
{
    Complex res;
    res.im=i;
    res.re=r;
    return res;//результат
}
void Print(Complex a)//выводим
{
    cout<<"Re = "<<a.re<<"   Im = "<<a.im<<endl;
}
float Cabs(Complex a)
{
    return sqrt(a.re*a.re+a.im*a.im);//модуль числа комплексного
}
float Carg(Complex a)
{
    return atan(a.im/a.re);//аргумент
}
Complex Cmult(Complex a,Complex b)
{
    Complex res;
    float mabs=Cabs(a)*Cabs(b);//умножение модулей
    res.re=mabs*cos(Carg(a)+Carg(b));//re
    res.im=mabs*sin(Carg(a)+Carg(b));//im
    return res;//возвращаем
}
Complex Cdiv(Complex a,Complex b)
{
    Complex res;
    float mabs=Cabs(a)/Cabs(b);//деление модулей
    res.re=mabs*cos(Carg(a)-Carg(b));//re
    res.im=mabs*sin(Carg(a)-Carg(b));//im
    return res;
}
int main()
{
    Complex a,b,c,z;//два комплексных числа
    float re,im;
    cout<<"A re = ";cin>>re;//считали re
    cout<<"A im = ";cin>>im;// im 
    a=CMPX(re,im);// создали комплексное число
    cout<<"Abs = "<<Cabs(a)<<endl<<"Arg = "<<Carg(a)<<endl;//модуль и аргумент первого
    Print(a);//выводим a
    cout<<endl;//перенос строки
    cout<<"B re = ";cin>>re;
    cout<<"B im = ";cin>>im;
    b=CMPX(re,im);
    cout<<"Abs = "<<Cabs(b)<<endl<<"Arg = "<<Carg(b)<<endl;//второго
    Print(b);//выводим b
    cout<<endl;
    cout<<"C re = ";cin>>re;
    cout<<"C im = ";cin>>im;
    c=CMPX(re,im);
    cout<<"Abs = "<<Cabs(c)<<endl<<"Arg = "<<Carg(c)<<endl;//второго
    Print(c);//выводим c
    cout<<endl;
    z=Cdiv(Cmult(a,b),c);//то что нужно в задании, контрольный пример
    cout<<"a*b/c"<<endl;
    Print(z);
    system("pause");
    return 0;
}
Добавлено через 2 минуты
Вернее сделать так чтобы был ввод именно 5 комплексных чисел. Упорядчить мнимые по возрастанию и вывести на экран. Ребят выручайте
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2014, 10:25     Ввести комплексные числа, упорядочить их мнимые части и вывести на экран
Посмотрите здесь:

C++ Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа цифра ноль
подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... C++
C++ Классы. Вывести значение числа цифр в дробной части числа
C++ создать шаблон класса,реализующий буфер из произвольного (5) числа вещественных чисел. Числа ввести с клавиатуры содержащие буфера вывести на экран
Ввести двумерный массив A(N×N) , вывести его. Найти сумму положительных элементов расположенных в части массива одновременно C++
C++ Вывести старшую цифру дробной части и младшую цифру целой части числа
Заданы числа x и y. Если их сумма положительная, вывести на экран эти числа, иначе вывести их разницу C++
Отсортировать комплексные числа по возрастанию модуля, убыванию действительной части C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zibertscrem
3 / 3 / 1
Регистрация: 03.07.2014
Сообщений: 19
03.07.2014, 11:18     Ввести комплексные числа, упорядочить их мнимые части и вывести на экран #2
Полностью заменил код главной функции на поставленную задачу. Удачи на зачете.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
struct Complex//структура
{
    float re,im;
};
Complex CMPX(float r,float i)//получаем комплексное число
{
    Complex res;
    res.im=i;
    res.re=r;
    return res;//результат
}
void Print(Complex a)//выводим
{
    cout<<"Re = "<<a.re<<"   Im = "<<a.im<<endl;
}
float Cabs(Complex a)
{
    return sqrt(a.re*a.re+a.im*a.im);//модуль числа комплексного
}
float Carg(Complex a)
{
    return atan(a.im/a.re);//аргумент
}
Complex Cmult(Complex a,Complex b)
{
    Complex res;
    float mabs=Cabs(a)*Cabs(b);//умножение модулей
    res.re=mabs*cos(Carg(a)+Carg(b));//re
    res.im=mabs*sin(Carg(a)+Carg(b));//im
    return res;//возвращаем
}
Complex Cdiv(Complex a,Complex b)
{
    Complex res;
    float mabs=Cabs(a)/Cabs(b);//деление модулей
    res.re=mabs*cos(Carg(a)-Carg(b));//re
    res.im=mabs*sin(Carg(a)-Carg(b));//im
    return res;
}
void CMPSwitch(Complex *c1, Complex *c2)//Флип переменных
{
    Complex p;
    p.re = c1->re;
    p.im = c1->im;
    c1->re = c2->re;
    c1->im = c2->im;
    c2->re = p.re;
    c2->im = p.im;
}
int main()
{
    const int n = 5;//количество комплексных чисел
    Complex arr[n];
    for(int i = 0; i<n; i++)//ввод
    {
        float re,im;
        cout<<i<<" Re:";cin>>re;
        cout<<i<<" Im:";cin>>im;
        arr[i] = CMPX(re,im);        
    }
    for(int i = 0; i<n; i++)
    {
        for(int j = i; j<n-1; j++)
        {
            if(arr[j].im>arr[j+1].im)
            {
                CMPSwitch(&arr[j],&arr[j+1]);
            }
        }
    }
    for(int i = 0; i<n; i++)
    {
        Print(arr[i]);
    }
    system("pause");
}
Yandex
Объявления
03.07.2014, 11:18     Ввести комплексные числа, упорядочить их мнимые части и вывести на экран
Ответ Создать тему
Опции темы

Текущее время: 19:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru