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

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

Войти
Регистрация
Восстановить пароль
 
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 340
#1

Работа с массивами в функции - C++

25.03.2014, 16:09. Просмотров 180. Ответов 0
Метки нет (Все метки)

Здравствуйте. Вопрос седующий - в программе есть 2 массива. Существует класс, в конструкторе которого я читаю эти 2 массива в переменные моего класса. В классе также есть 2 функции, одна работает с массивами(допустим, складывает поэлементно в 3-ий массив), а вторая выводит результат. Что-то такого типа:
C++
1
2
3
4
5
6
7
#include "Demodulator.h"
double* I;
double* Q; //представим, что в I и Q по 3 числа
double* r; // сюда вывожу результат
Demodulator first(I,Q,3); //вызов конструктора
    first.FM(); //выполнение сложения
    r = first.getFM();  //получение результата
Код "Demodulator.h"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include "IntMath/Complex.h"
 
class Demodulator {
public:
    Demodulator(double*, double*, int);
    virtual ~Demodulator();
 
    double FM(void);
    double* getFM(void);
 
private:
    double* I;
    double* Q;
    double* resultFM;
    int count;
};
Код "Demodulator.cpp"
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
#include "Demodulator.h"
Demodulator::Demodulator(double* i,double* q, int n) {
    count=n;
    for(int j=0; j<count; j++){
        I[j]=i[j];
        Q[j]=q[j];
        }
 
}
 
Demodulator::~Demodulator() {
}
 
double Demodulator::FM(void)
{
 
    for(int k=0; k<count; k++){
       resultFM[k]=I[k]+Q[k];
    }
 
    return(0);
}
 
double* Demodulator::getFM(void)
{
    return(resultFM);
}
Проблема в том, что если после этих строчек будет другой код, то информация в r может быть изменена, и там будут уже совсем другие числа. Подскажите, как можно избежать этого?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2014, 16:09     Работа с массивами в функции
Посмотрите здесь:

Работа с массивами - C++
Подскажите пожалуйста, что значит &quot;**&quot; в данной строке? void Array(int ** array, int size); Спасибо!

Работа с массивами - C++
Программа, которая считывает из заранее подготовленного текстового файла, и должна сначала вывести весь текст просто на экран, потом...

Работа с массивами - C++
Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому...

Работа с массивами в С++ - C++
Доброго времени суток! Пытался составить программу, формулировка которой звучит так: Дан массив натуральных чисел n размерности m (m...

Работа с массивами - C++
Я ввожу переменную, например 456. Программа розбивает её и записьІвает в массив. int Array Array = 4; Array = 5; Array = 6;

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

Работа с массивами структур - C++
помогите пожалуйста очень нужно С++ и если можно подписать где и что заранее спасибо огромное Поля структуры: код студента, фамилия,...

Работа с файлами и массивами - C++
Всем привет, помогите сделать 2 програмки: 1) Нужна програмка каторая бы открывала текс( на английском языке, допустим) и все строки...

работа с динамическими массивами - C++
Всё что нужно, это рассчитать размерность массива через функцию, но в main я получаю, а если передаю массив в функцию то получаю 1, как...

Работа с массивами структур - C++
Помогите пожалуйста разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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