Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 43, средняя оценка - 4.65
akhalex
0 / 0 / 0
Регистрация: 18.07.2012
Сообщений: 17
#1

Мнимая единица - C++

18.07.2012, 11:21. Просмотров 6070. Ответов 33
Метки нет (Все метки)

Здравствуйте!
Кто сможет подсказать?
Есть пример из маткада.
Мнимая единица
Как этот пример написать на С++?
Меня интересует, как объявить мнимую единицу или задать, чтобы можно было вывести на экран реальные и мнимые выражения, как в маткаде.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2012, 11:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Мнимая единица (C++):

Мнимая единица - C++
Как умножить на мнимую единицу, она же равна корень из (-1).

Структура Комплексное_Число с элементами x - действительная и y - мнимая часть - C++
Создайте структуру Комплексное_Число с элементами x - действительная и y - мнимая часть. Выполнить операцию с тремя комплексными числами...

Класс «Комплексное число». Поля класса: действительная и мнимая части - C++
Помогите, описать класс в соответствии с индивидуальным вариантом задания и реализовать все его методы. Каждый класс помимо указанных в...

Растолкуйте почему выводится единица - C++
Почему выводит 1?? #include int main(int argc, char** argv) { int x = 0; int y = 0; if (x++ && y++) ...

Цилиндр объёма единица имеет в высоту h - C++
Помогите решить задачу. язык Си Цилиндр объёма единица имеет в высоту h. Определить радиус основания цилиндра для значений h, равных ...

Исправьте ошибку: ответ уравнения всегда единица - C++
// pr19.cpp: определяет точку входа для консольного приложения. //printf("%d\n",flag); #include "stdafx.h" #include <iostream> ...

33
akhalex
0 / 0 / 0
Регистрация: 18.07.2012
Сообщений: 17
20.07.2012, 19:32  [ТС] #31
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Упростил форматный вывод (дело было только в нём)
C
1
2
3
4
5
char * fmt(complex val, char * str)
{
    sprintf(str, "%.3f %cj*%.3fj", val.re, val.im < 0 ? '-' : '+', fabs(val.im));
    return str;
}
Ну теперь все!!! Я думаю, можно закрывать тему. Всем спасибо, а особенно -=ЮрА=- Отличный спец!!!
0
-=ЮрА=-
Заблокирован
Автор FAQ
20.07.2012, 19:39 #32
Наконец-то СВЕРШИЛОСЬ

Не по теме:

akhalex, по итогам всего могу добавить что в BorlandC да и Visual Studio уже присутсвуют стандартные функции и классы для работы с комплексами так что отмечу код Nameless One, как полностью пригодный (вариант Си для борландС, вариант плюсов для всего постарше)

0
Agent Smith
11.01.2013, 19:50
  #33

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
//val будет ранить значение exp(j*t)
ранить

0
Faind
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 2
19.12.2013, 16:36 #34
Доброго времени суток -=ЮрА=-, подскажи плиз такую вещь - мне в нужно преобразовать строку из matlab на плюсы
Matlab M
1
s(1:ssize)=(b(1:2:ssize*2)+1i*b(2:2:ssize*2))/128*sa;
Суть четная часть массива b вещественная, нечетная мнимая. С массивами и векторами все понятно, никак не дойду как правильно собрать из этих данных комплексное число и положить в др массив для отправки на дальнейшее преобразование.
Пока я пробовал понять как это сделать, читая эту тему, у меня рождается что-то типо этого,
Но пока что-то я ни как не врублюсь ((( Прошу помощи 8)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
       void function(char* data_in, long len_in, char* data_out, long* len_out, float sa)
{
/*По коду data_in - входной массив(b), long len_in - 64(Читаю из файла кусочки по 64 байта),data_out - массив для отправки после преобразования(s), len_out -понятно, sa - переменная задаваемая пользователем  */
    char *real = new char [len_in/2];
    char *imp = new char [len_in/2];
    complex one ={0};
    one.re = 0;
    one.im = -1;
 
    complex val= {0};
 
    for(long i = 0; i < len_in/2; i++)
    {
        real[i] = data_in[2*i];
        imp[i] = data_in[2*i+1];
        val.re = (int)real[i];                           // Вот тут начинаются тупняки мои
        val.im = cmult(one,imp[i]);//(int)imp[i];// Как и куда правильно, короче заляпал мозгом стенку уже
        data_out[i] = (real[i] + imp[i])/128*sa;
    }
0
19.12.2013, 16:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2013, 16:36
Привет! Вот еще темы с ответами:

Логическая ошибка: при делении результат всегда единица - C++
Ошибка заключается в том что в переменную L должен идти остаток деления L на 10, но почему то остаток всегда &quot;1&quot;, и не меняется. #include...

Сложение двухбайтовых слов, при переполнении к сумме добавляется единица. - C++
В общем, нужно считать произвольное слово из произвольного же файла, это я сделал. Но вот дальше нужно преобразовать этот &quot;строковый ключ&quot;...

Если в строке или столбце матрицы только одна единица, то заменить ее нулем - C++
задача: Дана матрица,заполненная нулями и еденицами.Если в строке или столбце только одна еденица,то она заменяеться нулем.Если после этого...

в массиве вещественных чисел найти количество элементов, ближайшим целое для которых - единица - C++
Здравствуйте! Помогите с задачей, пожалуйста: в массиве вещественных чисел найти количество элементов, ближайшим целым числом для которых...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru