Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 13.12.2016
Сообщений: 7

Ошибка в c++ form: Access violation at adress 00401E16 in module 'Project1.exe'. Read of adress A4F698D8

08.04.2017, 13:57. Показов 1087. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно методом блочной(карманной) сортировки упорядочить массив по возрастанию. Программы выдает ошибку в строке №47: if(ar1[i][j]!=0). Данный код работает в консольном приложении, но при переносе на форму выдает ошибку.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
void __fastcall TForm1::Button1Click(TObject *Sender) //кнопка для заполнения массива случайными числами
{ int n=4;
n=StrToInt(Edit1->Text);
if(n>10){
ShowMessage("Максимальное количество  10!");
n=10;
Edit1->Text = "10";
}
StringGrid1->ColCount=n;
for(int i=0; i<n;i++)
StringGrid1->Cells[i][0]=IntToStr(random(9));
 
}
 
void __fastcall TForm1::Button2Click(TObject *Sender) //кнопка для выполнения сортировки
{
const int x=10;
int ar[x],i,j,n;
int ar1[x][x];
int d=1, t=0;
 
for(int i=0;i<x;i++)
ar1[i][0]=StrToInt(StringGrid1->Cells[i][0]);
 
for(int z=0;z<3;z++)
{
t=0;
for(int i=0;i<x;i++)
{
int indexo4ik = (ar[i]/d)%10;
ar1[indexo4ik][i]=ar[i];
}
 
for(int i=0;i<x;i++)
{
for(int j=0;j<x;j++)
if(ar1[i][j]!=0)
{
ar[t]=ar1[i][j];
t++;
}
}
for(int i=0;i<x;i++)
for(int j=0;j<x;j++)
ar1[i][j]=0;
d*=10;
}
for(int i=0;i<x;i++)
StringGrid2->Cells[i][0]=IntToStr(ar1[i][0]);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2017, 13:57
Ответы с готовыми решениями:

Ошибка "Access violation at adress 005D14F7 in mudule 'Project1.exe' Read of adress 000003C4."
Подскажите как решить такую проблему: Заранее благодарен.

Ошибка: Acsess volation at adress 00558BEF in module Project1.exe.Read of adress 0000038C
Сделал Form1-Form7 На каждой Adotable1 DataSourge1 Dbnavigator1 dbgrid1 adoconection 1 на Form1 Асе компоненты комбобоксы на...

Ошибка Access violation at adress 0046B96C in module 'Project2.exe'. Write of adress 00000020
Создаю почтовый клиент. Когда хочу получить список список писем возникает такая ошибка. Вот код первой формы, на ней я вхожу в саму...

4
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
08.04.2017, 14:42
Цитата Сообщение от denchuk007 Посмотреть сообщение
Программы выдает ошибку в строке №47: if(ar1[i][j]!=0).
Не знаю, как в 47-й, но в 49-й может быть выход за границу выделенной памяти, потому что индекс t никак не контролируется.
0
0 / 0 / 0
Регистрация: 13.12.2016
Сообщений: 7
09.04.2017, 12:39  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Не знаю, как в 47-й, но в 49-й может быть выход за границу выделенной памяти, потому что индекс t никак не контролируется.
Как я могу это исправить? Ибо даже малейшего представления нет.
0
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
09.04.2017, 13:19
C++
1
2
3
4
5
6
7
8
9
for(int i=0;i<x;i++)
{
for(int j=0;j<x;j++)
if(ar1[i][j]!=0)
{
ar[t]=ar1[i][j];
t++; // вот это теоретически может быть выполнено x*x раз. т.е 100 раз. после 10 раза выход за пределы массива ar
}
}
но допустим вы это исправите, контролируя как-то значения t.
остается вопрос, нахера вообще эти циклы? какие-то не нулевые знаения записываются в ar,
счетчик t наращивается, а далее в коде результаты этих действий нигде не используются.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
09.04.2017, 15:17
Цитата Сообщение от denchuk007 Посмотреть сообщение
Как я могу это исправить?
Ну, напиши так:
C++
1
2
3
4
5
if(ar1[i][j]!=0 && t < x)
{
    ar[t]=ar1[i][j];
    t++;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2017, 15:17
Помогаю со студенческими работами здесь

Acess violation as adress 00454AE8 in module 'Project1.exe.' Read of address 00000000
При выполнении программы дает ошибку 'Acess violation as adress 00454AE8 in module 'Project1.exe.' Read of address 00000000'. ...

Выдает ошибку Делфи Acces violation at adress 005BE79F in module 'Project 1.exe' Read of adress
Не могу понять в чем ошибка, объясните пожалуйста type kup= array of integer; {$R *.dfm} procedure...

При запуске срабатывает следующая ошибка access violation at adress 0040388C. read of adress 0000000000
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include...

ActiveX ошибка: Х Access violation at address xx in module 'xxx.ocx'.Read of adress 0000030.
Подскажите, кто знает Не могу обратиться к свойству главной формы (например ActivexForm.Left ) при попытке обратиться выдает ошибку ...

Получаю Access violation at adress 056A399 ... Read of adress 00000044
Уважаемые! Проблема такого рода. При выполнении процедуры Procedure TEd.DelClick(Sender: TObject); var i : Integer; Path :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru