| Другое > Hard'n'Soft |
| Нужна помощь по сям |
| (1/1) |
| virf:
Нужно замутить передачу двумерного массива через параметр функции на C++. |
| .flint:
Так двумерные массивы в C++ -- суть указатели. Т.е, есть у тебя двумерный массив, скажем, array[][] из данных типа double. И есть функция function, в которую ты его и передаешь. Тогда, помня, что массивы и указатели в C++ мало чем отличаются, смотри, как это делается: void function(double ** array) Все, готово. |
| virf:
ошибку вроде не даёт в объявлении. не пойму только как её теперь вызвать. float det(float **p, int n) { ..if(n==1) return **p; ..float det=0; ..for(int i=0; int m=n>i; i++) { ....float **add = new float*[n-1]; ....for(int i=0; i |
| Romasik (RS):
Во-первых, лучше в арифметических операциях юзать double, а не float. У второго есть свои глюки в некоторых реализациях. Во-вторых, не det(add[][],n-1), а det(add,n-1), т.к. add у тебя и есть указатель. ЗЫ: код не читал :) ЗЫ2: при рекурсии удобно использовать статические переменные, чтобы они не переобъявлялись (статическая переменная - одна для всего исполняемого блока, объявляется как static ) |
| virf:
det += p[0]*det(add, n-1)|; [C++ Error] Unit1.cpp(24): E2314 Call of nonfunction |
| Навигация |
| Главная страница сообщений |