57 / 57 / 11
Регистрация: 04.03.2010
Сообщений: 244
1

Метод в классе должен возвращать массив чисел в формате с плавающей точкой

07.07.2010, 10:55. Показов 739. Ответов 3
Метки нет (Все метки)

необходимо создать класс с методом, который должен получать 2 массива обрабатывать их, записывать результат в третий массив и возвращать его
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2010, 10:55
Ответы с готовыми решениями:

Файл: Парсер должен записывать в двумерный массив из файла матрицу чисел с плавающей точкой.
Не получается написать парсер txt файлов, приложение зависает, не знаю, где ошибка. Парсер должен...

Произведение чисел в формате с плавающей точкой
Подскажите: В результате умножения чисел у меня получилась ненормализованная мантисса пк =...

Вывод чисел с плавающей точкой в шестнадцатеричном формате
Вот фрагмент учебника Шилдта: Объясните пожалуйста, как тут получилось число это? И как его...

Блок-схема деления чисел в формате с плавающей точкой в обратном коде
Доброе время суток! Может у кого есть готовая блок-схема деления чисел в формате с плавающей...

3
Эксперт С++
1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
07.07.2010, 11:42 2
Вот, кстати, забавная идея - передавать результат по значению:
C++
1
2
3
4
5
6
7
8
9
std::vector<float> MyClass::Method(const std::vector<float> &array1, const std::vector<float> &array 2)
{
    std::vector<float> RV;
    const size_t Size = std::min(array1.size(), array2.size());
    RV.reserve(Size);
    for(size_t i=0; i<Size; ++i)
        RV.push_back(array1[i] + array2[i]);
    return RV;
}
Ну и есть, конечно же, пара куда более тривиальных, но от этого не менее полезных способов - выделять память динамически или передавать в функцию указатель на массив-получатель.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
float* MyClass::Method 1(const float array1[], const float array2[], size_t Size)
{
    float * RV = new float[Size];
    for(size_t i=0; i<Size; ++i)
        RV[i] = array1[i] + array2[i];
    return RV;    // Вызывающая функция должна не забыть уничтожить результат через delete []
}
 
void MyClass::Method2(const float array1[], const float array2[], size_t Size, float Result[])
{
    for(size_t i=0; i<Size; ++i)
        Result[i] = array1[i] + array2[i];  // Вызывающая сторона сама озаботилась создать массив для хранения результата
}
0
57 / 57 / 11
Регистрация: 04.03.2010
Сообщений: 244
13.07.2010, 16:57  [ТС] 3
Цитата Сообщение от Nick Alte Посмотреть сообщение
float * RV = new float[Size];
* * for(size_t i=0; i<Size; ++i)
* * * * RV[i] = array1[i] + array2[i];
* * return RV; * *// Вызывающая функция должна не забыть уничтожить результат через delete [
где именно должно происходить уничтожение результата через delete
0
Эксперт С++
1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
13.07.2010, 20:43 4
Я же говорю - этим должна заниматься вызывающая сторона.
C++
1
2
3
4
5
6
7
8
9
10
extern MyClass &mc;
extern float array1[20], array2[20];
 
void Foo()
{
    float* a = mc.Method1(array1, array2, 20);  // Получим массив
    ...   //  Сделаем с массивом что-нибудь интересное
    // Всё, полученный массив уже не нужен, надо не забыть его удалить
    delete [] a;  // Ура, не забыли.
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2010, 20:43
Помогаю со студенческими работами здесь

Сложение, вычитание и умножение 32-разрядных чисел в формате с плавающей точкой (float)
Добрый день. Прошу помощи в решении задачи на Generic 8051 ЗАДАЧА: Реализовать подпрограммы...

Массив чисел с плавающей точкой
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;fstream&gt; using namespace std; int main() { ...

Чтение из файла чисел с плавающей точкой в массив
Имеется файл формата csv в котором хранятся данные с графиков. Данные в файле хранятся следующим...

Определите одномерный массив из 10 чисел с плавающей точкой
1. Определите одномерный массив из 10 чисел с плавающей точкой в тексте программы. Вычислите...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru