Форум программистов, компьютерный форум 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) { подробнее

Показать сообщение отдельно
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.03.2013, 15:14     Написать функцию принимающую массив и возвращающую указатель на динамический массив
ashta, ну тогда вот с возвращение

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// obr.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
//ф-я вывод массива
int* show_array(int *arr, int size)
{
    cout << "Array: ";
    for(int i = 0; i < size; ++i)
         cout << arr[i] << ' ';
 
    cout << endl;
    return arr;
}
 
// ф-я поиска наибольшего эл-та
int* max_from_pair(int *arr, int &count, int &size)
{ 
    int kol = 0, tmp;
    int *mas = new int[count];
 
    for(int i = 0; i < size; i += 2){
        if(kol < count){
            if(arr[i] < arr[i + 1])
                tmp = arr[i + 1];
            else
                tmp = arr[i];
 
            mas[kol++] = tmp;
        }
        else
            break;
    }
 
    return mas;
}
 
int main()
{
    srand(time(NULL));
 
    int size;
    cout << "Enter size: ";
        cin >> size;
 
    int *arr = new int[size];
 
    for(int i = 0; i < size; ++i)
         arr[i] = 1 + rand() % 100;
 
    show_array(arr, size);          //выводим массив
 
    int count;                      
    cout << "\nEnter count: ";
        cin >> count;
 
    int *mas_max = new int[count];
    mas_max = max_from_pair(arr, count, size);      //выводим n первых макс эл-ов
                                                    //сравниваем по парам
 
    cout << "first " << count << " maximal elements: ";
    for(int i = 0; i < count; ++i)
        cout << mas_max[i] << ' ';
 
    delete[] mas_max;
    delete[] arr;
 
    cout << "\n\n";
    return 0;
}
Добавлено через 6 минут
igor001, у вас ошибка и в этом месте
Цитата Сообщение от igor001 Посмотреть сообщение
return *max_arr;
вы указали что возвращаете указатель(а мы знаем что массив - указатель на первый элемент) и тут вы разыменовываете его, вылезет ошибка что невозможно преобразовать int в int*... а вообще, можно просто сохранить возвращаемый указатель в другой массив уже в мейне
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru