С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Возвращаемый массив содержит мусор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как вернуть массив? http://www.cyberforum.ru/cpp-beginners/thread594668.html
Как правильно вернуть локальный массив (вместе с размером) из одной функции в main-функцию и потом передать его в третью функцию? int* first(int &rArraySize) //Есть функция {...
C++ Прямоугольник Помогите написать программу, которая будет выводить на экран прямоугольник с каким-нибудь текстом; каждые 15 секунд в новом месте экрана. http://www.cyberforum.ru/cpp-beginners/thread594665.html
C++ Текст является десятичной записью числа, кратного 9
Добрый всем день. Помогите мне решить данное задание , я плохо разбираюсь в этом языке программирования ,т.к. мягко говоря ,наш преподаватель - не компетентен. 1.Текст является десятичной записью...
C++ Access violation и размерность символьного массива
Всех приветствую! Только начинаю работать с консолькой, и вот уже возникли непонятки с символьными массивами. Конкатенирую 2 введенные строчки через разделитель " - ": #include <cstdio>...
C++ Работа с русским языком в консольном приложении http://www.cyberforum.ru/cpp-beginners/thread594625.html
Как можно осуществить ввод-вывод текста на русском языке в консоли? Просто я в программе использовал уже тексты в файлах на русском языке, ввел их там, все как положено(использовал еще...
C++ Нужно разобраться с программой В общем дана программа, мне нужно разобрать ее всю и полностью :) Нужно объяснить каждую строчку что за что отвечает и что делает, думаю для таких профи, как Вы это будет не трудно сделать, можете... подробнее

Показать сообщение отдельно
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932

Возвращаемый массив содержит мусор - C++

03.06.2012, 08:43. Просмотров 723. Ответов 11
Метки (Все метки)

Здравствуйте. У меня есть функция, которая должна возвращать массив, содержащий некоторые ячейки посланного массива. В функции создается новый массив нужного размера, потом его ячейки заполняются соответствующими ячейками посланного массива (это проходит успешно), но когда массив возвращается, то в нем содержится мусор. Т. е. внутри этой функции он выглядит опрятно, а в остальные говорят, что в нем содержится мусор. Вот сам код:
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
#include <iostream>
using namespace std;
 
int* getArrayPart (int* arr, int start, int end);
 
int main () {
    // создаем массив и получаем его часть
    int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int* p = getArrayPart(arr, 3, 6);
 
    // выводим эту часть на экран (выводится мусор)
    for (int i = 0; i < 4; i++) {
        cout << *(p+i) << " ";
    }
 
    return 0;
}
 
int* getArrayPart (int* arr, int start, int end) {
    // создаем новый массив нужного размера
    int arrPart[start-end+1];
 
    // заполняем этот массив и выводим на экран его содержимое
    // (работает, как надо!)
    for (int i = start; i <= end; i++) {
        arrPart[i-start] = arr[i];
        cout << arrPart[i-start] << " ";
    }
    cout << endl;
 
    // возвращаем новый массив
    return arrPart;
}
Из-за чего это может быть?

Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.