Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Перевести с С++ на Си |
Автор: DaLLaas 4.6.2017, 18:20 |
очень нужна помощь! #include <iostream> #include <cmath> using namespace std; double* minor (int p, double A[], int n) { double *M= new double [(n-1)*(n-1)]; int s=0; for (int i=0; i<(n*n); i++) { if((i%n==p%n)||(i/n==p/n)) continue; M[s]=A[i]; s++; } return M; } double det (double A[], int n) { if(n==1) return A[0]; else { double res=0; for(int i=0;i<n;i++) { res+= A[i] * det(minor(i,A,n),n-1) * pow(-1,i); } return res; } } int main( ) { setlocale(0,""); while(true) { system("CLS"); cout << "Размерность матрицы: "; int R; cin >> R; double *a= new double [R*R]; for (int i=0; i<R*R; i++ ) { cout << "Parca " << i+1 << ": "; cin >> a[i]; } cout << endl; for (int i=0; i<R*R; i++) { cout << a[i] << " "; if(i%R==R-1) cout << endl; } cout << endl; cout << "det("<<R<<")= " << det(a,R) << endl; cout<<endl; system("pause"); } } |
Автор: ss 4.6.2017, 19:21 | ||
этим ты обманешь не преподавателя а только себя
|
Автор: DaLLaas 4.6.2017, 21:32 |
Я знаю , что обманываю только себя, но программирование не мой профиль , поэтому у меня не выходит. У меня один вопрос for (int i=0; i<(n*n); i++) --------- в этой строчке ошибку видит, в чём проблема? { if((i%n==p%n)||(i/n==p/n)) continue; M[s]=A[i]; s++; } |
Автор: ss 5.6.2017, 10:12 |
какую ошибку выдает ? |