Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 17:53   #1
Сотников Роман
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 11
По умолчанию Ошибка с областью памяти

Написал программу-создание класса "множество" и работа с ним для консоли.Работает нормально.Тот же класс перенес в программу в окнах. В окнах при вычислении перегруженного оператора "/" вылетает ошибка "Access violation at address 00401FDE in module "Project1.exe".Read of address00784000".
Вот текст срр-шника:
Цитата:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

class mnozhestvo
{
public: int power;
public: float *mnozh;

public:mnozhestvo();

public:~mnozhestvo();

public:friend mnozhestvo operator /(mnozhestvo x,mnozhestvo y)//A без В
{
mnozhestvo z(x.power);
for(int i=0;i<x.power;i++)
{
for(int j=0;j<y.power;j++)
{
if(x.mnozh[i]==y.mnozh[j])
{
x.mnozh[i]=0;
break;
}
}
z.mnozh[i]=x.mnozh[i];
}
return z;
}
public:int razmer(mnozhestvo w) //Ищет мощность множества,без учета нулей
{
int znachenie=0;
for(int i=0;i<w.power;i++)
{
if(w.mnozh!=0)
znachenie++;
}
return znachenie;
}
};
mnozhestvo::mnozhestvo(int n)//конструктор
{
int power=n;
mnozh=new float[power];
for(int i=0;i<power;i++)
{
mnozh[i]=0;
}
}
mnozhestvo::~mnozhestvo()
{
delete(mnozh);
}//деструктор
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
mn1->ColCount=StrToInt(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
mn2->ColCount=StrToInt(Edit2->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int a=StrToInt(Edit1->Text);
int b=StrToInt(Edit2->Text);
mnozhestvo A(a);
mnozhestvo B(b);
for(int i=0;i<a;i++)
{
A.mnozh[i]=StrToFloat(mn1->Cells[0][i]);
}
for(int i=0;i<b;i++)
{
B.mnozh[i]=StrToFloat(mn2->Cells[0][i]);
}
mnozhestvo C(a);
C=(A/B);
/*mn3->ColCount=razmer(C);
int count=0;
for(int i=0;i<razmer(C);i++)
{
for(int j=count;j<C.power;j++)
{
if(C.mnozh[j]!=0)
{
mn3->Cells[0][i]=FloatToStr(C.mnozh[j]);
count=j+1;
break;
}
}
} */
}
//---------------------------------------------------------------------------
Сам проект
Вложения
Тип файла: rar oop.rar (21.6 Кб, 7 просмотров)
Сотников Роман вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с не клиентской областью окна в WinApi ANtonP Помощь студентам 0 13.02.2011 17:38
Ошибка чтения из памяти Шульц Общие вопросы Delphi 20 03.11.2009 12:26
проблемы с областью видимости переменной titan-prog Помощь студентам 2 11.07.2008 18:58
ошибся с областью видимости ? Иванчо Общие вопросы Delphi 8 25.10.2007 16:35
ошибка памяти. UMmi Общие вопросы Delphi 3 23.11.2006 07:06