Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Написать, "что" используется в проекте. Дан текст программы. 
:(
    Опции темы
MIG
  Дата 8.6.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 6.11.2005

Репутация: 1
Всего: 1



 smile  smile 


Пожалуйста, помогите разобраться, где здесь объекты, используются ли конструкторы (если да, то какие и где?), какие шаблоны, классы использовались здесь. Используется ли здесь рекурсия (если да, то покажите, где?). Тыкните меня носом в это, я очень прошу! Что такое рекурсия?

 //---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Main.h"
#include "CV.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
VectorM <double> *A,*B,*C;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

//---------------------------------------------------------------------------
//Ввод A и B по умолчанию из файлов
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(A)delete A;
if(B)delete B;
A=new VectorM<double>("inputA");
B=new VectorM<double>("inputB");
ChStr->Position=A->GetSize();
strok->Text=IntToStr(ChStr->Position);
V1->RowCount=ChStr->Position;
V2->RowCount=ChStr->Position;
V3->RowCount=ChStr->Position;
for(int i=0; i<ChStr->Position; i++)
  {
  V1->Cells[0][i]=FloatToStr(A->operator [](i));
  V2->Cells[0][i]=FloatToStr(B->operator [](i));
  }
}

//---------------------------------------------------------------------------
//Выход из программы
void __fastcall TForm1::Button5Click(TObject *Sender)
{
if(A) delete A;
if(B) delete B;
if© delete C;
exit(0);
}
//---------------------------------------------------------------------------
//При создании формы обнулить векторы
void __fastcall TForm1::FormActivate(TObject *Sender)
{
A=B=C=NULL;
}
//---------------------------------------------------------------------------
//Очистка векторов
void __fastcall TForm1::Button4Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  {
  V1->Cells[0][i]="";
  V2->Cells[0][i]="";
  V3->Cells[0][i]="";
  }
if(A) delete A;
if(B) delete B;
if© delete C;
A=B=C=NULL;
}
//---------------------------------------------------------------------------
//Сохранение векторов по умолчанию
void __fastcall TForm1::Button6Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  {
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
  V3->Cells[0][i]="";
  }
ofstream outA("inputA", ios_base::out);
ofstream outB("inputB", ios_base::out);
outA<<ChStr->Position<<endl;
outB<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  {
  outA<<StrToFloat(V1->Cells[0][i])<<endl;
  outB<<StrToFloat(V2->Cells[0][i])<<endl;
  }
outA.close();
outB.close();
}
//---------------------------------------------------------------------------
//Ввод из окна вектора А
//Сложение векторов
void __fastcall TForm1::Button8Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  {
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
  if(V3->Cells[0][i]=="")V3->Cells[0][i]=FloatToStr(0);
  }
V3->RowCount=ChStr->Position;
if(A)delete A;
if(B)delete B;
if©delete C;
ofstream outA("tempA", ios_base::out);
ofstream outB("tempB", ios_base::out);
outA<<ChStr->Position<<endl;
outB<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  {
  outA<<StrToFloat(V1->Cells[0][i])<<endl;
  outB<<StrToFloat(V2->Cells[0][i])<<endl;
  }
A=new VectorM<double>("tempA");
B=new VectorM<double>("tempB");
outA.close();
outB.close();
remove("tempA");
remove("tempB");
C=new VectorM<double>(*A);
C->operator +(*B);
for(int i=0; i<ChStr->Position; i++)
  V3->Cells[0][i]=FloatToStr(C->operator [](i));
}
//---------------------------------------------------------------------------
//Разность векторов
void __fastcall TForm1::Button11Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  {
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
  if(V3->Cells[0][i]=="")V3->Cells[0][i]=FloatToStr(0);
  }
V3->RowCount=ChStr->Position;
if(A)delete A;
if(B)delete B;
if©delete C;
ofstream outA("tempA", ios_base::out);
ofstream outB("tempB", ios_base::out);
outA<<ChStr->Position<<endl;
outB<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  {
  outA<<StrToFloat(V1->Cells[0][i])<<endl;
  outB<<StrToFloat(V2->Cells[0][i])<<endl;
  }
A=new VectorM<double>("tempA");
B=new VectorM<double>("tempB");
outA.close();
outB.close();
remove("tempA");
remove("tempB");
C=new VectorM<double>(*A);
C->operator -(*B);
for(int i=0; i<ChStr->Position; i++)
  V3->Cells[0][i]=FloatToStr(C->operator [](i));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button12Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
if(A)delete A;
ofstream outA("tempA", ios_base::out);
outA<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  outA<<StrToFloat(V1->Cells[0][i])<<endl;
outA.close();
A=new VectorM<double>("tempA");
remove("tempA");
double cv[100];
int n=A->Vich(cv);
V3->RowCount=n;
for(int i=0; i<n; i++)
  V3->Cells[0][i]=FloatToStr(cv[i]);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
OpenDialog1->Execute();
if (OpenDialog1->FileName!="" && FileExists(OpenDialog1->FileName))
  {
  if(A)delete A;
  A=new VectorM<double>(OpenDialog1->FileName.c_str());
  ChStr->Position=A->GetSize();
  strok->Text=IntToStr(ChStr->Position);
  V1->RowCount=ChStr->Position;
  V2->RowCount=ChStr->Position;
  V3->RowCount=ChStr->Position;
  for(int i=0; i<ChStr->Position; i++)
    {
    V1->Cells[0][i]=FloatToStr(A->operator [](i));
    }
  }
}
//---------------------------------------------------------------------------
//Копирование А в В
void __fastcall TForm1::Button14Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  {
  V2->Cells[0][i]=V1->Cells[0][i];
  }
}
//---------------------------------------------------------------------------
//Открытие из файла ветора В
void __fastcall TForm1::Button16Click(TObject *Sender)
{
OpenDialog1->Execute();
if (OpenDialog1->FileName!="" && FileExists(OpenDialog1->FileName))
  {
  if(B)delete B;
  B=new VectorM<double>(OpenDialog1->FileName.c_str());
  ChStr->Position=B->GetSize();
  strok->Text=IntToStr(ChStr->Position);
  V1->RowCount=ChStr->Position;
  V2->RowCount=ChStr->Position;
  V3->RowCount=ChStr->Position;
  for(int i=0; i<ChStr->Position; i++)
    {
    V2->Cells[0][i]=FloatToStr(B->operator [](i));
    }
  }
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button7Click(TObject *Sender)
{
SaveDialog1->Execute();
if (SaveDialog1->FileName!="")
{
for(int i=0; i<ChStr->Position; i++)
  {
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
  V3->Cells[0][i]="";
  }
ofstream outA(SaveDialog1->FileName.c_str(), ios_base::out);
outA<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  outA<<StrToFloat(V1->Cells[0][i])<<endl;
outA.close();
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button17Click(TObject *Sender)
{
SaveDialog1->Execute();
if (SaveDialog1->FileName!="")
{
for(int i=0; i<ChStr->Position; i++)
  {
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
  V3->Cells[0][i]="";
  }
ofstream outB(SaveDialog1->FileName.c_str(), ios_base::out);
outB<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  outB<<StrToFloat(V2->Cells[0][i])<<endl;
outB.close();
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ChStrClick(TObject *Sender, TUDBtnType Button)
{
if(ChStr->Position<1) {ChStr->Position=1;return;}
if(ChStr->Position>13) {ChStr->Position=13;return;}
strok->Text=IntToStr(ChStr->Position);
V1->RowCount=ChStr->Position;
V2->RowCount=ChStr->Position;
V3->RowCount=ChStr->Position;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button9Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  {
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
  if(V3->Cells[0][i]=="")V3->Cells[0][i]=FloatToStr(0);
  }
V3->RowCount=ChStr->Position;
if(A)delete A;
if(B)delete B;
if©delete C;
ofstream outA("tempA", ios_base::out);
ofstream outB("tempB", ios_base::out);
outA<<ChStr->Position<<endl;
outB<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  {
  outA<<StrToFloat(V1->Cells[0][i])<<endl;
  outB<<StrToFloat(V2->Cells[0][i])<<endl;
  }
A=new VectorM<double>("tempA");
B=new VectorM<double>("tempB");
outA.close();
outB.close();
remove("tempA");
remove("tempB");
C=new VectorM<double>(*A);
C->operator *(*B);
for(int i=0; i<ChStr->Position; i++)
  V3->Cells[0][i]=FloatToStr(C->operator [](i));
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button10Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  {
  if(V1->Cells[0][i]=="")V1->Cells[0][i]=FloatToStr(0);
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
  if(V3->Cells[0][i]=="")V3->Cells[0][i]=FloatToStr(0);
  }
V3->RowCount=ChStr->Position;
if(A)delete A;
if(B)delete B;
if©delete C;
ofstream outA("tempA", ios_base::out);
ofstream outB("tempB", ios_base::out);
outA<<ChStr->Position<<endl;
outB<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  {
  outA<<StrToFloat(V1->Cells[0][i])<<endl;
  outB<<StrToFloat(V2->Cells[0][i])<<endl;
  }
A=new VectorM<double>("tempA");
B=new VectorM<double>("tempB");
outA.close();
outB.close();
remove("tempA");
remove("tempB");
C=new VectorM<double>(*A);
C->operator /(*B);
for(int i=0; i<ChStr->Position; i++)
  V3->Cells[0][i]=FloatToStr(C->operator [](i));
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button13Click(TObject *Sender)
{
for(int i=0; i<ChStr->Position; i++)
  if(V2->Cells[0][i]=="")V2->Cells[0][i]=FloatToStr(0);
if(B)delete B;
ofstream outB("tempB", ios_base::out);
outB<<ChStr->Position<<endl;
for(int i=0; i<ChStr->Position; i++)
  outB<<StrToFloat(V2->Cells[0][i])<<endl;
B=new VectorM<double>("tempB");
outB.close();
remove("tempB");
double cv[100];
int n=B->Vich(cv);
V3->RowCount=n;
for(int i=0; i<n; i++)
  V3->Cells[0][i]=FloatToStr(cv[i]);
}
//---------------------------------------------------------------------------
 
PM MAIL   Вверх
_hunter
Дата 8.6.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



ты книгу какую-нить по сям читать не пробовал? говорят помогает...
объекты там -- A, B, C, Form1 (точнее это указатели нан них) и 
конструктор -- TForm1::TForm1()
шаблон VectorM <double>
рекурсии при беглом просмотре не заметил 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
MIG
Дата 8.6.2006, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 6.11.2005

Репутация: 1
Всего: 1



А такой вопросик, а что за шаблон используется? Как он называется по-русски?
А в каких командах эти объекты заданы? Т.е. кде их в программе показать?

Один остался до защиты этой программы, книга мало чем поможет за это время! ))) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0727 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.