Мој совет цртај кога ги решаваш задачите и научи да користиш дибагер. Земи ја збирката решени задачи во C 130ден мислам е во копирницата на FEIT и пререши ја цела. Земи испитни од претходните години. И ако си на ФИНКИ реши ги задачите за вежбање што ви се поставени. И заштеди си пари.
Здраво, може ли некој да ми објасни зошто на излез ми дава odd/even броеви (и дали може да се изостави тој чекор), па потоа ми го печати резултатот. Инаку програмата пресметува вредност на детерминанта од n-ти ред. Код: #include <vector> #include <algorithm> #include<cstdlib> using namespace std; typedef vector<double>Vect; typedef vector<Vect>Matr; int fact(int a); int main() { int i; int counter = 0; int nb = 0; cout << "Od koj red e determinantata? :\n"; cin >> nb; cout << " Vnesete gi elementite :\n"; Vect row(nb); Vect determinant; Matr a; int product = 1; int determ = 0; int ve1 = 0; for(i = 0; i < nb; i++) { for(int j = 0; j < nb; j++) { if(j<(nb-1)) cout << " Vnesete element\n"; else cout << " Vnesete go poseledniot element od ovoj red\n"; cin >> row[j]; } a.push_back(row); } for(i = 0; i < nb; i++) { cout << endl; for(int j = 0; j < nb; j++) { cout << a[i][j] << " "; } } cout << endl; vector<int>vec; for(i = 1; i <= nb; i++) vec.push_back(i); vector<int>::iterator iter1 = vec.begin(); vector<int>::iterator iter2 = vec.end(); for(i = 0; i < fact(nb); i++) { /* copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));;*/ vector<int>vec1(nb); copy(vec.begin(), vec.end(), vec1.begin()); for(int j = 0; j < (nb); j++) cout << vec1[j]; for(int i = 0; i < vec1.size(); i++) { for(int j = i; j < vec1.size(); j++) { if(vec1[j]<vec1[i]) counter++; } } if(counter%2==0) cout << " even "; else cout << " odd "; for(int w = 0; w < nb; w++) { ve1 = (vec1[w])-1; product *= (a[w][ve1]); } if(counter%2!=0) product = (- product); determinant.push_back(product); counter = 0; product = 1; next_permutation(iter1, iter2); cout << endl; } for(int x = 0; x < determinant.size(); x++) { determ += determinant[x]; } for(i = 0; i < nb; i++)//print the matrix { cout << endl; for(int j = 0; j < nb; j++) { cout << a[i][j] << " "; } } cout << endl; cout << " Vrednosta na determinantata e :\n"; cout << determ << endl; system("pause"); return 0; } int fact(int a) { if(a<=1) return a; return (a * fact(a - 1)); }
Некој што учи програмирање во C ако може да ми посочи што поточно треба да се знае за матрици? Некои добри примери од интернет?