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

Как выводить массив из функции?

05.02.2019, 20:41. Просмотров 210. Ответов 2
Метки нет (Все метки)

Вот код функции:
C++
1
2
3
4
5
6
7
8
9
10
void praymfact(int n) {
    int x;
    int *Massiv = new int[n];
    for (int i = 0; i < n; i++)
    {
        printf(" %+20 Massiv [ %d ] = ", (i+1));
        scanf_s("%d", &x);
        Massiv[i] = x;
    }
}
Подскажите пожалуйста, как получать его значения через return?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2019, 20:41
Ответы с готовыми решениями:

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

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

Как лучше выводить код в функции?
Есть функция, которая выводит текст, html код. Часто не более 500 символов. Как лучше выводить код...

Как выводить двумерный массив?
Нужно сделать ввод вывод двумерного массива с помощью do, while. Можете помочь?

2
252 / 170 / 116
Регистрация: 30.04.2017
Сообщений: 375
Записей в блоге: 1
05.02.2019, 21:29 2
Можно так, но тогда нужно будет прописывать delete в том месте, где буден получен указатель на участок динамической памяти. Если забудете будет утечка памяти.
Как более лучшие варианты написания можно рассмотреть:
1 передавать в функцию уже выделенный участок памяти, заранее выделять его в вызывающей функции и удалять там же.
2 обойтись статическим массивом
3 использовать умные указатели
4 использовать вектор
5 ООП подход с выделением памяти в конструкторе удалением в деструкторе

C++
1
2
3
4
5
6
7
8
9
10
11
int* praymfact(int n) {
    int x;
    int *Massiv = new int[n];
    for (int i = 0; i < n; i++)
    {
        printf(" %+20 Massiv [ %d ] = ", (i+1));
        scanf_s("%d", &x);
        Massiv[i] = x;
    }
    return Massiv;
}
1
Продавец времени
3670 / 2081 / 469
Регистрация: 12.03.2015
Сообщений: 10,422
05.02.2019, 21:29 3
Цитата Сообщение от Гор1 Посмотреть сообщение
Подскажите пожалуйста, как получать его значения через return?
Ты клянчишь память под массив внутри функции. Учти, что где-то после вызова этой функции эту память надо будет вернуть взадЪ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
int* praymfact(int n) 
{
    int *Massiv = new int[n];
    
    for (int i = 0; i < n; i++)
    {
        printf(" %+20 Massiv [ %d ] = ", i + 1);
        scanf_s("%d", &Massiv[i]);
    }
    
    return Massiv; // писать транслитом - это не комильфо!
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2019, 21:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

List<struct> как выводить поля структуры в массив
class Music { List&lt;structMp3FileInfoPlaylist&gt; listmp3fileinfoplaylist = new...

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

Как строки из mysql выводить на разных страницах, либо выводить динамично
Мне нужно сделать тест: Вот, что мне удалось сделать: Вот моя таблица MySQL, называется...


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

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

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