Работаю с этим условием. Выдаёт ошибку "Вызвано исключение по адресу 0x00007FF7134A2749 в hrenata4.2.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000FDFDFDFD." в строке 20. Вот весь код: #include <iostream> using namespace std; void arr(int *x[], int& n, int& m) { for ( int i = 0; i < n; i++) { for ( int j = 0; j < m; j++){ cout << "x[" << i << "]["<<j<<"]: "; cin >> x[j]; } } } float MaxArif(int *x[], int m, int j) { float sum = 0, ArifSum; int k = 0; for ( int i = 0; i < m; i++){ if (x[j] < 0) { k++; sum = sum + x[j]; } } ArifSum = sum / k; return ArifSum; } int main() { int n, m, i, j,p; float ArifSum,max; cout << "wedite kolvo strok arr A: "; cin >> n; cout << "wedite kolvo stolbov arr A: "; cin >> m; int** A = new int* [n]; for (i = 0; i < n; i++){ A = new int[m]; } arr(A, n, m); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << A[j] << " "; } cout << endl; } for ( j = 0; j < m; j++){ ArifSum = MaxArif(A,m,j); max = 0; if (max > ArifSum) { max = ArifSum; p = j; } } cout << "arif summa otr el stolba " << p << " ravna: " << max << endl; for (i = 0; i < n; i++) { delete[] A[i]; } delete[] A; }[/i]
#include <iostream> using namespace std; void arr(int** x, int n, int m) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << "x[" << i << "][" << j << "]: "; cin >> x[j]; // cin >> x i___j; } } } float MaxArif(int** x, int n, int j) { float sum = 0, ArifSum = 0; int k = 0; for (int i = 0; i < n; i++) { if (x[j] < 0) { k++; sum = sum + x[j]; // sum + x i_j } } if (k > 0) { ArifSum = sum / k; } return ArifSum; } int main() { int n, m, i, j, p; float ArifSum, max = 0; cout << "wedite kolvo strok arr A : "; cin >> n; cout << "wedite kolvo stolbov arr A: "; cin >> m; int** A = new int* [n]; for (i = 0; i < n; i++) { A[i] = new int[m]; } arr(A, n, m); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << A[i][j] << " "; // A i__j } cout << endl; } for (j = 0; j < m; j++) { ArifSum = MaxArif(A, n, j); if (ArifSum < max || j == 0) { max = ArifSum; p = j; } } cout << "arif summa otr el stolba " << p << " ravna: " << max << endl; for (i = 0; i < n; i++) { delete[] A[i]; } delete[] A; }[/i][/i][/i][/I]
Наверное ты уже решил проблему, просто подскажу, что использовать русский в консоли плюсов без иероглифов можно со строчкой setlocale(LC_ALL, "Russian"); в main
Решил проблему? Если нет, то попробуй до вызова исключения выводить i и j Последние выведенные i и j до вызова исключения будут указывать на проблему Копаться в коде уже твоё дело