Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массивы, неверный вывод. Функция возвращает не то значение. 
:(
    Опции темы
mogtar
Дата 8.11.2013, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 28.9.2013

Репутация: нет
Всего: нет



Код

int main()
{   int size,ar[]={};
    size=create(ar);
    cout<<"\nРозмiр масиву: ";
    cout<< size;
    cout<<"\nУтворений масив: ";
    for(int i=0;i<size+1;i++)
    {cout << ar[i] <<" ";}

    cout <<"\n\nВиберiть потрiбну дiю. ";
    cout <<"\n1.Рiзниця мiж середнiм арифметичним та геометричним. ";
    cout <<"\n2.Видалення заданого елементу iз масиву.";
    cout <<"\n3.Перетворити цiле число без знаку у пoрядок символiв.";
  cout <<"\n\nВиконати задачу: "; int i;
    cin >> i;
    switch(i){
    case 1:;break;
    case 2:;break;
    case 3:;break;}
  }

Код

int create(int ar[])
{   int m,n,g;
    int 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;}


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

Это сообщение отредактировал(а) mogtar - 8.11.2013, 21:04

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  33333.JPG 49,63 Kb
PM MAIL   Вверх
feodorv
Дата 8.11.2013, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



А место под массив?
Цитата(mogtar @  8.11.2013,  22:04 Найти цитируемый пост)
int ar[]={}
Это сколько элементов в массиве зарезервировано?


Если заранее число элементов массива не известно и ничем не ограничено, то лучше создавать динамический массив (через new) с уже известным числом элементов и возвращать его из подпрограммы create() совместно с size.


Цитата(mogtar @  8.11.2013,  22:04 Найти цитируемый пост)
    m=g%10;
    g=(g-m)/10;

А просто 
Код
g /= 10;
не пойдёт???


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0817 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.