0 / 0 / 0
Регистрация: 26.11.2022
Сообщений: 7
|
||||||
1 | ||||||
Access violation reading location 0xFFFFFFFF5638934026.11.2022, 11:27. Показов 613. Ответов 4
Есть программа в которой создается матрицы, после чего их надо вывести, задача была вывод сделать через единственную функцию, но почему то он не хочет этого делать выдавая следующую ошибку:
Exception thrown at 0x00007FF682D6190B in parprogrectanglemiddle.exe: 0xC0000005: Access violation reading location 0xFFFFFFFF56389340. а так же я не понимаю почему в функции в разных циклах где то он требует просто интовую переменную, а где то указатель на нее(int*). Подскажите пожалуйста, как это исправить.
0
|
26.11.2022, 11:27 | |
Ответы с готовыми решениями:
4
Ошибка Access violation reading location 0x00000003 Ошибка fscanf: Access violation writing location 0xCDCDCDCD Ошибка при запуске программы: Access violation writing location 0x00000000 Access violation reading location Access violation reading location |
Модератор
|
|||||||||||||||||||||
26.11.2022, 12:31 | 2 | ||||||||||||||||||||
Сообщение было отмечено J3metron как решение
Решение
Смешались в кучу кони, люди...
Для матрицы с m строк и n столбцов элементов типа type достаточно m*n*sizeof(type) памяти. При этом элемент (i,j) лежит по индексу n*i+j. Функции предназначены в том числе и для устранения дублирования кода. Например, заполнение случайными числами в диапазоне [a,b):
1
|
0 / 0 / 0
Регистрация: 26.11.2022
Сообщений: 7
|
||||||
26.11.2022, 13:14 [ТС] | 3 | |||||
Со всем разобрался, остался только один вопрос, по всей видимости рандомными числами заполняется только первая строка матрицы, и последующие заполняются рандомными числами вне отрезка [a, b]. Я попытался сделать в функции рандома ещё один цикл для сток, но н опять начал ругаться на переменную j, что я не правильно понимаю?
консоль выводит следующие значения matrix A 8 2 8 435 1929904624 435 -33686019 5177344 6619246 matrix B 9 8 3 435 1929905584 435 -33686019 7471205 4390973 Result -269487210 -375386424 35128678 221376258 -557728201 -395004016 -870379365 169155406 -1257106387
0
|
Модератор
|
||||||||||||||||
26.11.2022, 13:47 | 4 | |||||||||||||||
Если все же хочется адресации в виде a[i][j], то и это легко устроить без многократных выделений памяти.
Что представляет собой вариант выше?
Можем поменять? Можем. Достаточно выделить память за один раз, а указателю на строку присваивать адрес строки массива в этом выделенном блоке. Пробуем:
Действительно:
откуда взялся v[i][j]? Выше было по-другому.
1
|
Модератор
|
||||||
26.11.2022, 14:11 | 5 | |||||
В сухом остатке
0
|
26.11.2022, 14:11 | |
26.11.2022, 14:11 | |
Помогаю со студенческими работами здесь
5
Access violation reading location Access violation reading location Access violation reading location access violation reading location ошибка Access violation reading location 0x00000066 Подключение DLL, Access violation reading location Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |