Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Вызвано исключение по адресу 0x00FB6539 в 8.2.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0xCDCDCDCD.

#include <iostream>
#include <process.h>
using namespace std;
const int max = 100;
int main()
{
int *b;
int c,v,k,sum=0;
int **x = new int *[max];
b = new int[max];
setlocale(LC_ALL, "Russian");
cout << "Введите число строчек и столбцов" << endl;
cin >> c >> v;
cout << "\nИсходная массив: \n";
for (int i = 0; i < c; ++i)
{
for (int j = 0; j < v; ++j)
{
x[i][j] = rand()%9+1;
cout << x[i][j] << " ";
}
cout << "\n";
}
cout << "\n";
cout << "\nОтсортированная: \n";
for (int i = 0; i < c; i++)
{
for (int j = 0; j < v; j++)
{
sum += x[i][j];
k = sum;
}
cout << b[k];
}
delete x;
delete b;
}
Вычислить суммы элементов каждого столбца матрицы А(5,7) и
результат записать в одномерный массив. Для этого создать двумерный
динамический массив, задать элементы массива с помощью генератора случайных
чисел, создать одномерный динамический массив.
Не могу понять в чем проблема. Исключение видит в строчке с рандомным заполнением массива.

По дате
По рейтингу
Аватар пользователя
Новичок

#include <iostream>
#include <iomanip>
#include <ctime>
#define RAND(min, max) (rand() % ((max) - (min)) + (min))
using namespace std;
int main() {
srand(unsigned(time(nullptr)));
size_t n = 5;
size_t m = 7;
size_t w = 4;
auto mx = new int* [n];
for (auto i = 0U; i < n; ++i) {
mx[i] = new int[m];
for (auto j = 0U; j < m; ++j) {
mx[i][j] = RAND(1, 10);
cout << setw(w) << mx[i][j];
}
puts("");
}
puts("");
auto a = new int[m];
for (auto j = 0U; j < m; ++j) {
a[j] = 0;
for (auto i = 0U; i < n; ++i) a[j] += mx[i][j];
cout << setw(w) << a[j];
}
puts("");
delete[] a;
for (auto i = 0U; i < n; ++i) delete[] mx[i];
delete[] mx;
system("pause > nul");
}

Аватар пользователя
Мыслитель

Это чушь, такого никто делать не будет.