У меня есть 2 указателя, которые указывают на два 20-элементных массива. Мои массивы содержат комплексные числа. Я хочу сделать элемент по элементу для этих сложных чисел, поэтому мне нужно разделить числа на реальные и мнимые части. Я пробовал следующий код, но он дает ошибку.действительная и мнимая часть комплексного номера
#include <complex>
complex *a;
complex *b;
complex array1[20];
complex array2[20];
a = &array1;
b = &array2;
int i=0;
for (i=0;i<=19;i++)
{
real_part_array1[i] = real(*a[i]);
imag_part_array1[i] = imag(*a[i]);
real_part_array2[i] = real(*b[i]);
imag_part_array2[i] = imag(*b[i]);
}
Первая ошибка, которую я получил, была; Я попытался написать его как
#include <complex.h>
сообщение об ошибке было «невозможно открыть исходный файл complex.h». Затем я удалил h, и ошибка исчезла. Вторая ошибка у меня есть для real() и imag(). Сообщение об ошибке «Идентификатор real undefined».
Для деления я должен разделить их на реальные и мнимые части, но я не знаю, как решить эту проблему. Надеюсь, вы, ребята, можете мне помочь.
Вы можете просто прочитать документацию : http://en.cppreference.com/w/cpp/numeric/complex. Кроме того, что с указателями? Для чего они нужны? –
это пример кода, поэтому я определил их как 20. Обычно это кусок огромной программы, и в указателе есть 44100 значений. Каждая другая функция использует их как указатель, поэтому мне не разрешено изменять его только на массив, я должен использовать его в качестве указателя. Прежде чем я задал свой вопрос, я прочитал документацию и попробовал решения, но не работал. Я хочу знать, есть ли возможность написать заголовочный файл со всеми этими функциями? – puCCa
Имеет ли документация для '' 'что она определяет глобальную функцию' real'? Если да, то где это так? Если нет, то почему, по-вашему, ваш код должен работать? –
hvd