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

Локальная переменная масив не создаеться в вызваной функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Непонятный код http://www.cyberforum.ru/cpp-beginners/thread780111.html
#define HEX__(n) 0x##n##LU #define B8__(x) ((x&0x0000000FLU)?1:0)\ +((x&0x000000F0LU)?2:0)\ +((x&0x00000F00LU)?4:0)\ +((x&0x0000F000LU)?8:0)\ +((x&0x000F0000LU)?16:0)\ +((x&0x00F00000LU)?32:0)\ +((x&0x0F000000LU)?64:0)\ +((x&0xF0000000LU)?128:0)
C++ Запись трёхмерного массива string в файл Задан массив string M, который в процессе работы будет ежедневно пополнятся новыми словами. Как его записывать в файл, чтобы было удобно читать и редактировать ? Подскажите, пожалуйста, кто знает или имеет какие-то мысли по этому вопросу. http://www.cyberforum.ru/cpp-beginners/thread780090.html
Обработка исключений C++
Есть вопрос по заданию. С клавиатуры вводится номер ошибочной ситуации. В зависимости от того, какой номер введен, сгенерировать целочисельную, действительную или символьную ошибочную ситуацию. Создать обработчики этих ошибочных ситуаций. Создать функцию, которая генерирует целочисельную исключительную ситуацию. Помогите разобраться в задании. Нужно ввести с клавиатуры число или символ, и в...
C++ генерация чисел
Скажите, пожалуйста, как сгенерировать случайным образом отрицательные числа?
C++ Объясните данный алгоритм/функцию http://www.cyberforum.ru/cpp-beginners/thread780075.html
http://rabus.ru/mc/methodOfCoord.html#prim_1 Собственно каким образом это должно происходить? Как вообще и на основании чего это работает? Что там происходит, можете описать мне последовательность что с чем и каким образом?
C++ Массив: найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов N(10, 10) Для целочисленной матрицы найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов. nij/5*5 = nij подробнее

Показать сообщение отдельно
Qeeet
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
06.02.2013, 05:00  [ТС]     Локальная переменная масив не создаеться в вызваной функции
попробую показать что за чем идет:

1. обьявление b[2]{0,0}; ii=0; aj=0
2. Вызов функции func(a,ii,aj) |func({0,0},0,0)|
3. func({0,0},0,0) обьявление w=0; static aa=0
4. func({0,0},0,0) if(0) возвращает aa=1
5. func({0,0},0,0) for j=0
6. func({0,0},0,0) for Вывод "00", так как см. строчка 1.
7. func({0,0},0,0) for if(!0) |потому что a[0]=0| возвращает w+=func(a,ii+1,j) |func({0,0},0+1,0)|
8. func({0,0},0,0) for if func({0,0},1,0) обьявление w=0. static bool уже не срабатывает и не будет срабатывать
9. func({0,0},0,0) for if func({1,0},1,0) if(1) возвращает a[0]=1, потому что static aa=1, см 4.
10. func({0,0},0,0) for if func({1,0},1,0) for j=0
11. func({0,0},0,0) for if func({1,0},1,0) for Вывод "10", так как см. строчка 9
12. func({0,0},0,0) for if func({1,0},1,0) for if(!1) |потому что a[0]=1| передает управление след. циклу for
13. func({0,0},0,0) for if func({1,0},1,0) for j=1
14. func({0,0},0,0) for if func({1,0},1,0) for Вывод "10", так как см. строчка 9
15. func({0,0},0,0) for if func({1,0},1,0) for if(!0) |потому что a[1]=0|
16. func({0,0},0,0) for if func({1,0},1,0) for if if(1==1) |потому что func({0,0},ii,0), см. левей|
17. func({0,0},0,0) for if func({1,0},1,0) for if if return 0
18. func({0,0},0,0) for if w=0 |потому что func({1,0},1,0) дает 0|
19. func({0,0},0,0) for j=1

и тут для меня непонятное происходит:
20. func({0,0},0,0) for Вывод "10"

а я ожидал:
20. func({0,0},0,0) for Вывод "00", так как массив а[2] не был подвергнут изменениям внутри функции.

Меня не интерисует w. Помогите решить эту проблему

Добавлено через 43 минуты
Цитата Сообщение от Bonaqus Посмотреть сообщение
Извините, немного сложно читать такой код
я могу скинуть полностью весь код, но думаю там еще более непонятнее.
исходный код вычисляет определитель матрицы, я часами на протяжении 3х дней ламал мозг над этим ангоритном и реализацией. Я даже впервые запустив его, IDE не нашел ниодной ошибки, код успешно скомпилился. Но обязательно я должен всетаки спотыкнуться об какойто камень.
Помогите найти ошибку, или как еще можно отправить функции в аргументы динамический одномерный массив так чтобы он копировался в функции как локальная переменная?

умоляю помогите разобраться почему то что я ожидал не совпадает с тем что получилось

Добавлено через 2 минуты
спрашивайте, по требованию запосчу весь код задания.
Но возникшую проблему спростовал к коду, который в первым сообщении

Добавлено через 1 час 28 минут
решил задачу через вектор.
Но этот вопрос остается открытым.

PS: ООо, СПАСИБО ВЕЛИКОМУ ВЕКТОРУ, ОН СПАС ЭТОТ МИР
 
Текущее время: 20:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru