// //#include <iostream> //using namespace std; // //int main() { // int n; // setlocale(LC_ALL, ""); // cout << "Введите количество чисел: "; // cin >> n; // int* arr = new int[n]; // // // Ввод чисел в массив // cout << "Введите " << n << " чисел:" << endl; // for (int i = 0; i < n; ++i) { // cin >> *(arr+i); // } // // // Поиск наибольшего числа // int max_value = *(arr); // // for (int i = 1; i < n; ++i) { // if (arr[i] > max_value) { // max_value = *(arr+i); // } // } // // // Вывод результата // cout << "Наибольшее число: " << max_value << endl; // delete[] arr; // return 0; // //} //#include<iostream> //#include<vector> //#include<windows.h> //using namespace std; // //int main() //{ // SetConsoleCP(1251); // SetConsoleOutputCP(1251); // int n; // Количествострок // cout << "Введите количество строк: "; // cin >> n; // // vector<string>lines; // Вектор для хранения строк // // // Ввод строк // cout << "Введите " << n << " строк:" << endl; // for (int i = 0; i < n; ++i) // { // string line; // cin >> line; // Считываем строку без пробелов // // // Вставляем строку в отсортированное место // vector<string>::iterator it = lines.begin(); // while (it != lines.end() && *it < line) // { // ++it; // Находим место для вставки // } // lines.insert(it, line); // Вставляемстроку // } // // // Вывод результата // cout << "Строки в алфавитном порядке:" << endl; // for (vector<string>::size_type i = 0; i < lines.size(); ++i) // { // cout << lines[i] << endl; // } // // return 0; //} // #include <iostream> #include <windows.h> using namespace std; void print_array_using_pointers(int r, int c, int* ptr) { int i, j; for (i = 0; i < r; i++) { cout << "["; for (j = 0; j < c; j++) { cout << " " << *ptr; ptr = ptr + 1; } cout << " ]" << endl; } return; } double determinant(int m, int* p) { double ans = 0, inner_sol, inner_determinant; int a, b, c, d; if ((m == 1) || (m == 2)) { if (m == 1) ans = *p; else { a = *p; b = *(p + 1); c = *(p + 2); d = *(p + 3); ans = (a * d) - (b * c); } } else { int i, j, k, l, n, sign, basic, element; n = 0; sign = +1; int* q; q = new int[(m - 1) * (m - 1)]; for (i = 0; i < m; i++) { l = 0; n = 0; basic = *(p + i); for (j = 0; j < m; j++) { for (k = 0; k < m; k++) { element = *(p + l); cout << element << " "; if ((j == 0) || (i == k)); else { *(q + n) = element; n = n + 1; } l = l + 1; } } cout << endl << basic << " x " << endl; print_array_using_pointers((m - 1), (m - 1), q); inner_determinant = determinant(m - 1, q); inner_sol = sign * basic * inner_determinant; cout << "Знак:" << sign << "x Базис: " << basic << "x Определитель" << inner_determinant << " = " << inner_sol << endl; ans = ans + inner_sol; sign = sign * -1; } delete[] q; } return ans; } void initialize_array(int r, int c, int* ptr) { int i, j, k; cout << "Вводите числа в матрицу" << endl; cout << "После каждого числа нажимайте Enter" << endl; for (i = 0; i < r; i++) { for (j = 0; j < c; j++) { cin >> k; *(ptr + i * c + j) = k; } } } int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int r, * p; cout << "Количество рядов: "; cin >> r; p = new int[r * r]; initialize_array(r, r, p); print_array_using_pointers(r, r, p); double ans = determinant(r, p); cout << "Определитель: " << ans << endl; delete[] p; return 0; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter