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

Не верно возвращает массив

08.11.2013, 22:42. Просмотров 458. Ответов 6
Метки нет (Все метки)

C++ (Qt)
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
int create(int *ar)
{   int m,n,g,size=0;
    cout <<"Введите рядок символов: ";  cin >> n;
    g=n;
 
    while(g>0){
    m=g%10;
    g=(g-m)/10;
    size++;}
 
    g=size;
 
    while(n>0){
    m=n%10;
    n=(n-m)/10;
    ar[g-1]=m;
    g--;}
return size;}
 
int main()
{
    int size,ar[]={};
    size=create(ar);
    cout<<"\nРозмiр масиву: ";
    cout<< size;
 
    cout<<"\nУтворений масив: ";
    for(int i=0;i<size;i++)
    {cout << ar[i] <<" ";}
 
    cin >> size;
}

Если вывести массив в функции то возвращает верный массив, если в main тогда-бред, верно возвращает лишь размер. Не могу понять свою ошибку.
пс: функция преобразовывает число в массив.
0
Миниатюры
Не верно возвращает массив   Не верно возвращает массив  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 22:42
Ответы с готовыми решениями:

Создать функцию, которая возвращает массив в обратном порядке. Именно возвращает
Не могу никак создать функцию.

Функция которая принимает целочисленный массив и возвращает 1 если это центрированный массив
Здравствуйте! Помогите пожалуйста решить задание.Работаю в среде MS visual studio .Раньше не...

Массив чисел типа double передать в функцию, которая суммирует и возвращает сумму и массив
Написать функцию, которой передается массив чисел типа double, Функция суммирует элементы этого...

Создать функцию, в качестве параметра получает массив и количество его элементов, возвращает массив, упорядоченный по возрастанию
помогите решить задачу в с++ создать функцию, в качестве параметра получает массив и количество...

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив.
Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. Условие:Реализовать 3 функции,...

6
lemegeton
2939 / 1368 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
08.11.2013, 22:49 2
C++
1
ar[]={}
Массив из нуля элементов.
Запись в "него" внутри функции create -- запись в не выделенную область памяти.
Так с массивами нельзя работать.
1
mogtar
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 51
08.11.2013, 22:52  [ТС] 3
Цитата Сообщение от lemegeton Посмотреть сообщение
C++
1
ar[]={}
Массив из нуля элементов.
Запись в "него" внутри функции create -- запись в не выделенную область памяти.
Так с массивами нельзя работать.
А как тогда верно его обьявить? я кажется не верно понял лекцию, нам вроде сказали если так обьявить то автоматически размер определится.
С меня спасибо.
0
ssXXss
266 / 188 / 33
Регистрация: 15.01.2011
Сообщений: 681
08.11.2013, 22:55 4
и не удивительно int size,ar[]={};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int create(int *ar)
{
....
  int n = 0;
  cin >> n;
  if(n < 0 || n >100)
    return -1;
  ....
}
 
 
void main()
{
   int size,ar[100] = {0};
   if(!create(ar))
   {
       // error
    return;
   }
 
}
1
Kuzia domovenok
2737 / 2376 / 607
Регистрация: 25.03.2012
Сообщений: 8,482
Записей в блоге: 1
Завершенные тесты: 1
08.11.2013, 22:56 5
Безразмерный массив. Размер не указан. Для статических массивов размер должен всегда указываться при объявлении. Пустые скобки [] могут оставаться только если при объявлении массив тут же инициализируется (но опять же! Константным количеством константных значений!)
1
lemegeton
2939 / 1368 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
08.11.2013, 22:57 6
Статически -- с положительным целым числом внутри квадратных скобок.

C++
1
int arr[ЧИСЛО];
Динамически -- выделив необходимую память.

C++
1
2
3
int *arr = new int[ЧИСЛО];
...
delete [] arr; // не забыть потом удалить
А при объявлении с инициализацией количество элементов определяется в момент компиляции.
C++
1
2
int arr[] = {1, 2, 3}; // в arr три элемента 0..2 и никогда больше
int barr[] = {}; // в barr ноль элементов и никогда больше
1
castaway
Эксперт С++
4939 / 3044 / 455
Регистрация: 10.11.2010
Сообщений: 11,139
Записей в блоге: 10
Завершенные тесты: 1
08.11.2013, 22:59 7
C++
1
int size, ar[256];
0
08.11.2013, 22:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 22:59

Массив: Написать функцию, которая возвращает число, необходимое прибавить к массиву, и функцию добавления в массив.
Добрый вечер, форумчане. Надеюсь на вашу помощь. Мне нужно после и до(в двух разных проектах)...

Функция возвращает массив
Как сделать чтобы функция возвращала массив(не исползуя указатели):(. К присмеру: ... char v;...

Верно ли,что все элементы массива B входят в массив A?
Даны два одномерных массива A(n) и B(m).Верно ли,что все элементы массива B входят в массив A?


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

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

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