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

Возвратить массив из функции - C++

Восстановить пароль Регистрация
 
Insider246
 Аватар для Insider246
0 / 0 / 0
Регистрация: 18.04.2015
Сообщений: 110
09.04.2016, 09:10     Возвратить массив из функции #1
Вопрос стар как мир it, но неопытному человеку, пока его не ткнут носом почти невозможно самому разобраться.
Вообщем, как возвратить из функции массив и потом его вывести после вызова.
Функцию я делал вот так
C++
1
2
3
4
5
6
7
8
9
10
11
int func(int x, int y)
{                   
  int mas[10];
  for(int i=0;i<10;i++)
   {
     mas[i] = rand()%9+1;
   }
   int* b;    
   b = new int[10];
  return *b;
}
Если она правильно возвращает массив из 10 интовых элементов, то как мне ее вызвать и потом вывести этот массив. созданный в функции, после вызова
Заранее спасибо.

Добавлено через 8 минут
При вот таком вызове
C++
1
 int k = func(5,3);
возвращает что-то типа 7695382
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ferrari F1
Нарушитель
294 / 280 / 61
Регистрация: 27.01.2015
Сообщений: 1,888
Записей в блоге: 1
Завершенные тесты: 1
09.04.2016, 09:24     Возвратить массив из функции #2
Insider246, а параметры x и y для какой цели нужны?
C++
1
int func(int x, int y)
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
09.04.2016, 09:29     Возвратить массив из функции #3
C++
1
2
3
int *arr(unsigned size) {
    return new int[size];
    }
Ferrari F1
Нарушитель
294 / 280 / 61
Регистрация: 27.01.2015
Сообщений: 1,888
Записей в блоге: 1
Завершенные тесты: 1
09.04.2016, 09:31     Возвратить массив из функции #4
Можно сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
int* func(int x, int y)
{
    int mas[10];
    for (int i = 0; i < 10; i++)
    {
        mas[i] = rand() % 9 + 1;
    }
    int* b;
    b = new int[10];
    return b;
}
Здесь возвращается указатель на начало массива.
C++
1
int* k = (func(5, 3));
В переменной k будет содержаться указатель на начало массива.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
09.04.2016, 09:32     Возвратить массив из функции #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
как-то так
C++
1
2
3
4
5
6
7
8
9
10
int *func(int x, int y)
{                   
  int* b= new int[10];    
  for(int i=0;i<10;i++)
   {
     b[i] = rand()%9+1;
   }
   
   return b;
  }
Yandex
Объявления
09.04.2016, 09:32     Возвратить массив из функции
Ответ Создать тему
Опции темы

Текущее время: 02:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru