Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
olliJ
0 / 0 / 0
Регистрация: 21.10.2016
Сообщений: 6
1

Возвращение массива из функции

21.10.2016, 00:55. Просмотров 383. Ответов 5
Метки нет (Все метки)

Как вернуть массив из функции?
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
double* Zapolnenie(string Name)
{
    if (Name == "A")
    {
        const int number1 = 10;
        double A[number1];
        for (int i = 0; i < number1; i++)//Цикл заполнения массива A из 10 элементов
        {
            A[i] = sin(3.2*i);
        }
        return A[number1];
 
    }
    else
    {
        const int number2 = 17;
        double B[number2];
        for (int i = 0; i < number2; i++)//Цикл заполнения массива B из 17 элементов
        {
            B[i] = sin((3.14 / 6)*i) + i;
        }
        return B[number2];
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2016, 00:55
Ответы с готовыми решениями:

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

Возвращение массива из функции
Почему такой код выводит массив корректно. int* Input() { int b = {...

Возвращение массива из функции
Нужно вернуть массив типа int из функции Как я понимаю сделать это можно...

Возвращение многомерного массива из функции
Как вернуть многомерный массив из функции для обычного массива c...

Возвращение двумерного массива из функции
int function (int x, const int r, const int c) //работает только если указана...

5
John999
223 / 106 / 79
Регистрация: 17.10.2016
Сообщений: 312
21.10.2016, 01:19 2
Цитата Сообщение от olliJ Посмотреть сообщение
Как вернуть массив из функции?
сделай массив параметром функции
C++
1
2
3
4
5
6
7
8
void Funct( double * arr)
{}
int main()
{
 
        const int SIZE = 10;
        double A[SIZE];
        Funct( A);
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4606 / 2421 / 673
Регистрация: 18.10.2014
Сообщений: 4,132
21.10.2016, 01:43 3
Цитата Сообщение от olliJ Посмотреть сообщение
Как вернуть массив из функции?
В С++ - используйте std::vector и дело в шляпе.
0
John999
223 / 106 / 79
Регистрация: 17.10.2016
Сообщений: 312
21.10.2016, 02:00 4
Про размер забыл. Размер массива тоже необходимо передавать
C++
1
void Funct( double * arr, size_t size)
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,672
21.10.2016, 07:05 5
Цитата Сообщение от olliJ Посмотреть сообщение
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
double* Zapolnenie(string Name)
{
    if (Name == "A")
    {
        const int number1 = 10;
        double A[number1];
        for (int i = 0; i < number1; i++)//Цикл заполнения массива A из 10 элементов
        {
            A[i] = sin(3.2*i);
        }
        return A[number1];
 
    }
    else
    {
        const int number2 = 17;
        double B[number2];
        for (int i = 0; i < number2; i++)//Цикл заполнения массива B из 17 элементов
        {
            B[i] = sin((3.14 / 6)*i) + i;
        }
        return B[number2];
    }
 
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
double* Zapolnenie(string Name)
{
  int number1 = 10; 
  double *A=NULL;
   if (Name == "A")
    {
        
        A=new double[10];
        for (int i = 0; i < 10; i++)//Цикл заполнения массива  из 10 элементов
        {
            A[i] = sin(3.2*i);
        }
    }
    else
    {
       A=new double[17];
       for (int i = 0; i < 17; i++)//Цикл заполнения массива  из 17 элементов
        {
            A[i] = sin((3.14 / 6)*i) + i;
        }
    }
return A; 
}
но здесь неизвестен размер массива вне функции, и нарушается правило "Кто выделял память, тот и удаляет"
1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4606 / 2421 / 673
Регистрация: 18.10.2014
Сообщений: 4,132
21.10.2016, 09:21 6
Цитата Сообщение от ValeryS Посмотреть сообщение
нарушается правило "Кто выделял память, тот и удаляет"
Это что за "правило" такое? Сформулируйте детальнее.
0
21.10.2016, 09:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 09:21

Возвращение из функции массива указателей
Здравствуйте. Мне нужно вернуть из функции массив указателей. Внутри функции...

Возвращение из функции значения массива
Есть функция , она выполнила свою работу , теперь результат в виде массива...

Возвращение двумерного массива из функции
Здравствуйте, написал пробник, чтобы освоить метод возвращения из функции...


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

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

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