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

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Хэш-функция JH http://www.cyberforum.ru/cpp-beginners/thread814510.html
Ребят помогите разобраться с The Hash Function JH 2011 года, у меня кучу мануальников, но они все бесполезны. Необходимо составить алгоритм.
C++ Перевести строчные буквы строки в прописные Подскажите, как исправить ошибку в коде: #include <iostream> #include <string> using namespace std; void main(){ char* p; char old_mas ; http://www.cyberforum.ru/cpp-beginners/thread814506.html
64 битный int C++
Здорова господа! Тут решаю задачку, нужно создать свой int для 64-битных целых. (размер допустим не важен возмем 30 разрядов). Так от я то помню из Дейтелов класс int бесконечных размеров, там тупо для представления брался массив и каждый разряд громадного числа записывался в массив. Там вообще то при инициализации строковый тип принимался, потому, что такого числа не может быть. Так, что это...
Сжатие бмп файла C++
Помогите пожалуйста мне нужно сжать бмп файл с помощью векторного квантования, может кто-нибудь алгоритм объяснить ну или сайт дать где более менее объяснено , а то ничего толком не нашел, ну или хотябы скажите в качестве чего взять кодовую книгу (т.е. массив или структура )
C++ Работа со списками (Проверить, упорядочены ли числа по возрастанию или по убыванию) http://www.cyberforum.ru/cpp-beginners/thread814476.html
Прошу помощи! Задача звучит так:"Дан список вещественных чисел. Проверить, упорядочены ли числа по возрастанию или по убыванию." Причем алгоритм проверки на упорядоченность необходимо выделить в отдельную функцию. До этого выделения все работало идеально, но потом просто беда... Вот код, подскажите, где моя ошибка #include "stdafx.h" #include <stdio.h> #include <windows.h> #include...
C++ Зацикливание Функции После подсчёта спрашивать : "Повторить ? (y/n)", если "y" то в начала цикла с запросом сколько часов..если "n" то выход #include "iostream" #include "iomanip" #include "math.h" float calculateCharges(float); using namespace std; int _tmain(int argc, _TCHAR* argv) { подробнее

Показать сообщение отдельно
igor001
8 / 3 / 1
Регистрация: 12.02.2013
Сообщений: 68
22.03.2013, 12:42     Написать функцию принимающую массив и возвращающую указатель на динамический массив
я бы написал что-нибудь на подобие следующего:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int* array(int *arr, int n, int size)
{
    int max   = 0;
 
    int *max_arr = new int[n];
 
    for (int i = 0; i < size; ++i)
    {
        if (arr[i] > max) max = arr[i];
    }
    max_arr[0] = max;
 
    for (int j = 0; j < n; ++j)
    {
        max = 0;
        for (int i = 0; i < size; ++i)
        {
            if (arr[i] > max && arr[i] < max_arr[j-1]) max = arr[i];
        }
        max_arr[j] = max;
    }
        return *max_arr;
}
главное когда завершишь работу с массивом, полученным через указатель, возвращаемый функцией не забудь очистить память

C++
1
delete []max_arr;
вродь так

Добавлено через 11 минут
Хотя как по мне то гораздо удобнее использовать векторы и в функцию передавать ссылки на них, например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
bool find_max_arr(const vector<int> &in_data, vector<int> &result, int n)
{
     result.clear();
     if (in_data.size() > n) return false;
     if (in_data.size() == n) 
     {
          result = in_data;
          return true;
     }
     /*операции с векторами*/
     return true;
}
 
Текущее время: 21:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru