Выскакивает какого-то хуя эта поебень: Код: #include <fstream> #include <iostream> #include <cmath> using namespace std; struct Link { int data; Link* next; }; int main() { const int m = 4; bool input = true; ifstream in("arrive.txt"); int data; int count = 0; Link* first = 0; Link* last = 0; Link* link = 0; //зчитування даних з файлу та зберігання їх у зв'язаному списку while (in) { in >> data; if (!in) break; link = new Link(); link->data = data; link->next = 0; if (input) { input = false; first = link; } else last->next = link; last = link; count++; } //розрахунок кількості рядків int rows = ceil((double)count / m); //визначення двовимірного масиву int** arr = new int* [rows]; for (int i = 0; i < rows; i++) { arr[i] = new int[m]; } //заповнення масиву link = first; for (int i = 0; i < rows; i++) { for (int j = 0; j < m; j++) { if (link != 0) { arr[i][j] = link->data; link = link->next; } else arr[i][j] = 0; } } //видалення структур з динамічної пам'яті while (first) { link = first; first = first->next; delete link; } // перший крок for (int i = 0; i < m; i++) { for (int j = 0; j < rows; j++) { if (arr[i][j] < 0 && arr[i][j] % 2) { arr[i][j] *= 2; } } } //другий крок double* b = new double[m]; for (int i = 0; i < m; i++) { for (int j = 0; j < rows; j++) { double c = arr[i][j]; if (c > 0) { b[i] += log10(c); } } } //занесення даних до файлу ofstream out("result.txt"); out << "First step" << endl; out << "-----------------------------------------------------------" << endl; for (int i = 0; i < rows; i++) { for (int j = 0; j < m; j++) { out << arr[i][j] << ' '; } out << endl; } out << "-----------------------------------------------------------" << endl; out << "Second step" << endl; out << "-----------------------------------------------------------" << endl; for (int i = 0; i < 4; i++) { out << b[i] << ' '; } out << endl; out << "-----------------------------------------------------------" << endl; //видалення масивів з динамічної пам'яті for (int i = 0; i < rows; i++) { delete[] arr[i]; } delete[] arr; delete[] b; return 0; } Code #include <fstream> #include <iostream> #include <cmath> using namespace std; struct Link { int data; Link* next; }; int main() { const int m = 4; bool input = true; ifstream in("arrive.txt"); int data; int count = 0; Link* first = 0; Link* last = 0; Link* link = 0; //зчитування даних з файлу та зберігання їх у зв'язаному списку while (in) { in >> data; if (!in) break; link = new Link(); link->data = data; link->next = 0; if (input) { input = false; first = link; } else last->next = link; last = link; count++; } //розрахунок кількості рядків int rows = ceil((double)count / m); //визначення двовимірного масиву int** arr = new int* [rows]; for (int i = 0; i < rows; i++) { arr[i] = new int[m]; } //заповнення масиву link = first; for (int i = 0; i < rows; i++) { for (int j = 0; j < m; j++) { if (link != 0) { arr[i][j] = link->data; link = link->next; } else arr[i][j] = 0; } } //видалення структур з динамічної пам'яті while (first) { link = first; first = first->next; delete link; } // перший крок for (int i = 0; i < m; i++) { for (int j = 0; j < rows; j++) { if (arr[i][j] < 0 && arr[i][j] % 2) { arr[i][j] *= 2; } } } //другий крок double* b = new double[m]; for (int i = 0; i < m; i++) { for (int j = 0; j < rows; j++) { double c = arr[i][j]; if (c > 0) { b[i] += log10(c); } } } //занесення даних до файлу ofstream out("result.txt"); out << "First step" << endl; out << "-----------------------------------------------------------" << endl; for (int i = 0; i < rows; i++) { for (int j = 0; j < m; j++) { out << arr[i][j] << ' '; } out << endl; } out << "-----------------------------------------------------------" << endl; out << "Second step" << endl; out << "-----------------------------------------------------------" << endl; for (int i = 0; i < 4; i++) { out << b[i] << ' '; } out << endl; out << "-----------------------------------------------------------" << endl; //видалення масивів з динамічної пам'яті for (int i = 0; i < rows; i++) { delete[] arr[i]; } delete[] arr; delete[] b; return 0; }