Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 16

Программа для расчета комплексных чисел

04.07.2016, 22:19. Показов 6875. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. В условии моей задачи присутсвуют комплекнсые числа.И некоторые действия с ними.
A = a1 + a2i; B = b1 + b2i;
A*A = C; n*A = C; B*A = C; модуль A = C; A - B = C; A + B = C; fi = arctg (a2i/a2). Так вот.Мне надо написать программу, которая будет все это считать.Точнее выше написанное это подпрограммы, и мне нужно написать основу. Потом мне преподаватель должен будет дать задание, значения которого я должна буду ввести в свою программу, и он должна будет посчитать.
Я написала, но в ней как я понимаю ошибки. Помогите пожалуйста рахобраться.
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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
#include <iostream>
using namespace std;
int main ()
{
setlocale (0,"");
int a1,a,b,b1,i,n,x;
float A,B,fi;
    printf ("Vvedite a1,a,b,b1,n,x,fi\n");
    scanf ("%i%i%i%i%i%i%f",&a,&b, &c);
pow(i,2)=-1
A=a1*a2i;
B=b1+b2i
if (x==1)
{
C=A*A;
printf ("C=%d\n",C);
        
}
if (x==2)
{
C=nA;
printf ("C=%d\n",C);
        
}
if (x==3)
{
C=B*A;
printf ("C=%d\n",C);
        
}
if (x==3)
{
C=abs(A[i]);
printf ("C=%d\n",C);
        
}
if (x==4)
{
C=A-B;
printf ("C=%d\n",C);
        
}
if (x==4)
{
C=A+B;
printf ("C=%d\n",C);
        
}
if (x==3)
{
fi=arctg(ф2i/a2);
printf ("C=%d\n",C);
        
}
   } 
getch();
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.07.2016, 22:19
Ответы с готовыми решениями:

Программа–калькулятор комплексных чисел.
ребят срочно помогите ...... на с++ Напишите программу–калькулятор комплексных чисел. Для реализации необходимо разработать...

Программа с классами комплексных чисел и перегрузками операций
Задание состоит из таких частей: Для выбранного варианта определите класс, включив в него: • конструктор по умолчанию; • конструктор...

Простейшая программа для начинающих, ввод и вывод комплексных чисел, структуры
Нужно ввести и вывести комплексные числа С языком си только начинаю знакомиться Где какие ошибки? #include &lt;stdio.h&gt; ...

7
 Аватар для HenryDukart
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
04.07.2016, 22:31
Лин17, наверное, преподаватель ждет от вас реализацию класса комплексных чисел. Попробуйте его реализовать.
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
05.07.2016, 08:07
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
#include <clocale>
#include <iostream>
#include <cmath>
#include <complex>
 
using namespace std;
int main ()
{
    setlocale (LC_ALL,"Rus");
    cout<<"Введите первое комплексное число в виде (re,im):";
    complex<double> A;cin>>A;
    cout<<"Введите второе комплексное число в виде (re,im):";
    complex<double> B;cin>>B;
    cout<<"Введите\n"
        <<"1 - Возвести первое число в квадрат\n"
        <<"2 - Умножить первое число на константу \n"
        <<"3 - Умножить первое число на второе\n"
        <<"4 - Вычесть из первое числа второе\n"
        <<"5 - Сложить первое число со вторым\n"
        <<"6 - Сложить первое число со вторым\n"
        <<"7 - Определить аргумент первого числа\n";
    int x;cin>>x;
    complex<double> C;
    const double n=2.5;
    switch(x)
    {
    case 1:
        C=A*A;
        cout<<C;
        break;
    case 2:
        C=A*n;
        cout<<C;
        break;
    case 3:
        C=B*A;
        cout<<C;
        break;
    case 4:
        {
            double cd=abs(A);
            cout<<cd;
            break;
        }
    case 5:
        C=A-B;
        cout<<C;
        break;
    case 6:
        C=A+B;
        cout<<C;
        break;
    case 7:
        {
            double  fi=atan2(A.imag(),A.real());
            cout<<fi;
        }
    }
    system("pause>NUL");
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 16
07.07.2016, 22:13  [ТС]
Здравствуйте. Мне преподаватель дал форумулу, состоящую из комплексных чисел.
Я написала программу, но на моем компьютере она не работает, выделяет строчку с stdafx.h.
Можете помочь исправить ошибки если они будут?
Условие:
A = a1 + a2i; B = b1 + b2i;
A*A = C; n*A = C; B*A = C; модуль A = C; A - B = C; A + B = C; fi = arctg (a2i/a2);
Формула (A,B- комплексные вектора):
(2*AB-A^2)*(3B+2A)
Я сначала просто перемножила скобки,сначала для действительной части потом для мнимой. И ввела то, что полцчилось.
(6*a1*b1*b1^2 )+((a*1^2)*b1)-(2*a1^3)
(-6*a2*b2*b2^2)-((a2^2)*b2)+(2*a2^2) минус,т.к i^2=-1
Но я не знаю правильно ли я делала или нет
И на компьютерах в моемуниверситете, не проходит cin,cout и т.д
Программа:


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
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "math.h"
 
float summ1(float a1, float a2)
         {
           return a1+a2;
         }
       float summ2(float b1, float b2)
         {
           return b1+b2;
         }
  float raznost1(float a1, float a2)
         {
           return a1-a2;
         }
       float raznost2(float b1, float b2)
         {
           return b1-b2;
         }
float proiz1 (float a1,float a2,float b1,float b2) {
    return a1*b1-a2*b2;
}
float proiz2 (float a1,float a2,float b1,float b2) {
    return a1*b2+a2*b1;
}
float kvad1 (float a1, float a2) {
    return a1*a1+a1*a2;
}
float kvad2 (float a1, float a2) {
    return a2*a1-a2*a2;
}
float modul (float a1,float a2) {
    return sqrt(a1*a1+a2*a2);
}
 float nA1(float a1, float n)
         {
           return a1*n;
         }
       float nA2(float a2, float n)
         {
           return a2*n;
}
float  fi (float a2,float a1) {
    return atan(a2/a1);
}
 
int main()
{
    float a1,a2,b1,b2,c1,c2;
    printf("vvedite a1:");
    scanf("%f",&a1);
    printf("vvedite a2:");
    scanf("%f",&a2);
    printf("vvedite b1:");
    scanf("%f",&b1);
    printf("vvedite b2:");
    scanf("%f",&b2);
    c1=raznost1(summ(proiz1(a1,b1,b1,b1)6),proiz1(a1,a1,b1)),(a1,a1,a1,2));
    c2=summ2(raznost2(proiz1(a2,b2,b2,b2)(-6)),proiz1(a2,a2,b2)),(a2,a2,a2,2));
    printf("c=%f + %fi= %f(cos(%f) + sin(%f)i) \n ",c1,c2,modul(c1,c2),q(c2,c1),q(c2,c1));
    printf("|A|=%f |B|=%f |C|=%f",modul(a1,a2),modul(b1,b2),modul(c1,c2));
    getche();
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 16
08.07.2016, 03:33  [ТС]
Здравствуйте. Мне дано задание посчитать по формуле комплексные числа. Но мне выдает ошибку - выделяет последние скобочки. Если их нет, тоже ошибка. Уже голову сломала, как исправить?

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
#include*<stdio.h>
#include*<conio.h>
#include*<math.h>
#include*<locale.h>
float modulA(float &a1, float &ai2, float absA);
float modulC(float &c1, float &ci2, float absC);
float AxAxB(float &a1, float &ai2, float &b1, float &bi2, float &AxAxBRe, float &AxAxBIm);
float AxBxB(float &a1, float &ai2, float &b1, float &bi2, float &AxBxBRe, float &AxBxBIm);
float AxAxA(float &a1, float &ai2, float AAARe, float AAAIm);
 
int main()
{
    setlocale(LC_ALL, "RUS");
    
    float a1,ai2,b1,bi2,t,d,c1,ci2,C,absC,AAARe,AAAIm,AxAxBRe,AxAxBIm,AxBxBRe,AxBxBIm;
    printf("vvedite a1,ai2,b1,bi2\n");
    scanf("%f%f%f%f",&a1,&ai2,&b1,&bi2);
    AxAxB(a1,ai2,b1,bi2,AxAxBRe,AxAxBIm);
    AxBxB(a1,ai2,b1,bi2,AxBxBRe,AxBxBIm);
    AxAxA(a1,ai2,AAARe,AAAIm);
    c1 = AxBxBRe+AxAxBRe-AAARe;
    ci2 = AxBxBIm+AxAxBIm-AAAIm;
    if (ci2>0)
    {
        printf("C = %.2f+%.2fi\n",c1,ci2);
    }
    else
    {
        printf ("С = %.2f-%.2fi\n",c1,ci2);
    }
    modulC(c1,ci2,absC);
    getch();
    return 0;
}
float AxAxB(float &a1, float &ai2, float &b1, float &bi2, float &AxAxBRe, float &AxAxBIm)
{
    AxAxBRe = a1*a1*b1 - a1*ai2*bi2;
    AxAxBIm = ai2*a1*b1 - ai2*ai2*bi2;
    if (AxAxBIm>0)
    {
        printf("Произведение A*A*B = %.2f+%.2fi\n",AxAxBRe,AxAxBIm);
    }
    else
    {
        printf ("Произведение A*A*B = %.2f%.2fi\n",AxAxBRe,AxAxBIm);
    }
}
 
float AxAxA(float &a1, float &ai2, float AAARe, float AAAIm)
{
    AAARe = 2*a1*a1*a1 -a1*ai2*ai2;
    AAAIm = 2*ai2*a1*a1-ai2*ai2*ai2;
    if (AAAIm>0)
    {
        printf("Произведение A*A*A = %.2f+%.2fi\n",AAARe,AAAIm);
    }
    else
    {
        printf ("Произведение A*A*A = %.2f%.2fi\n",AAARe,AAAIm);
    }
}
 
float AxBxB(float &a1, float &ai2, float &b1, float &bi2, float &AxBxBRe, float &AxBxBIm)
{
    AxBxBRe = 6*a1*b1*b1;
    AxBxBIm = 6*(ai2*b1 + ai2*b1-ai2*bi2*bi2);
    if (AxBxBIm>0)
    {
        printf("Произведение A*B*B = %.2f+%.2fi\n",AxBxBRe,AxBxBIm);
    }
    else
    {
        printf ("Произведение A*B*B = %.2f%.2fi\n",AxBxBRe,AxBxBIm);
    }
}
0
0 / 0 / 1
Регистрация: 18.04.2016
Сообщений: 9
08.07.2016, 07:24
По поводу файла stdafx: если вы запускаете не через Visual Studio, то не будет работать, т.к. этот заголовок их фишка. Если используете другую ide, то удалите этот файл. Если хотите использовать cin и cout, то включать надо iostream. Код предоставлю чуть позже
0
Заблокирован
08.07.2016, 08:23
Я видел немножко другой вариант работы с комплексными числами. Этот код используется в преобразовании Фурье.
Вложения
Тип файла: zip FFT.ZIP (3.5 Кб, 12 просмотров)
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
08.07.2016, 08:50
Цитата Сообщение от Лин17 Посмотреть сообщение
выделяет последние скобочки
Читайте сообщения об ошибках:
Ошибка 9 error C4716: AxAxB: должна возвращать значение d:\current\cpp\test\test.cpp 47
Эта функция должна возвратить переменную типа float.

У Вас еще ряд ошибок, которые выдаются как предупреждения
(я уж не говорю уж о том, что звездочка после include - это нонсенс).
Предупреждение 3 warning C4101: C: неиспользованная локальная переменная d:\current\cpp\test\test.cpp 15
Предупреждение 4 warning C4101: d: неиспользованная локальная переменная d:\current\cpp\test\test.cpp 15
Предупреждение 5 warning C4101: t: неиспользованная локальная переменная d:\current\cpp\test\test.cpp 15
Предупреждение 6 warning C4700: использована неинициализированная локальная переменная "AAAIm" d:\current\cpp\test\test.cpp 20
Предупреждение 7 warning C4700: использована неинициализированная локальная переменная "AAARe" d:\current\cpp\test\test.cpp 20
Предупреждение 8 warning C4700: использована неинициализированная локальная переменная "absC" d:\current\cpp\test\test.cpp 31
Ошибка 9 error C4716: AxAxB: должна возвращать значение d:\current\cpp\test\test.cpp 47
Ошибка 10 error C4716: AxAxA: должна возвращать значение d:\current\cpp\test\test.cpp 61
Ошибка 11 error C4716: AxBxB: должна возвращать значение d:\current\cpp\test\test.cpp 75
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.07.2016, 08:50
Помогаю со студенческими работами здесь

Калькулятор для комплексных чисел
помогите пожалуйста сделать калькулятор для комплексных чисел в Delphi, обязательно с использованием ООП, нужны сложение, вычитание,...

Перегрузить () для комплексных чисел
Всем привет! Помогите пожалуйста с перегрузкой () для комплексных чисел. Условие: d1(0)=d2, d1,d2 - комплексные числа. Действительная часть...

Программа расчета квадрата двух целых чисел
Создать программу расчета квадрата двух целых чисел, объявленных как переменные.

Калькулятор для подсчёта комплексных чисел с++
Ребята нужна помощь с написанием такой вот программы. Калькулятор комплексных чисел, на основе выражений в ПОЛИЗ(обратная польская...

Вывод графика для комплексных чисел
ПОдскажите как это сделать. Нужно выводить график отдельно для действительной части, и отдельно для воображаемой части. График должен...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru