Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 5
1

Не могу найти ошибку

20.04.2013, 14:55. Показов 523. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста понять, почему не заносятся данные в таблицу? Заранее спасибо.
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
# include <iostream.h>
# include <conio.h>
# include <math.h>
# include <stdio.h>
 
 
struct MyPoint
{
 float x, y;
};
 
struct Foursquare
{
 MyPoint center;
 float A;
};
 
FILE*f;
int n, k=0;
float S, D;
float*Number;
Foursquare*MyFoursquare;
 
int Rast (MyPoint a, MyPoint b)
{
 return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
 
float Square (Foursquare F)
{
 return F.A*F.A;
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 D=StrToFloat (Edit1->Text);
 if (OpenDialog1->Execute())
 {
  f=fopen(OpenDialog1->FileName.c_str(), "rb");
  fread(&n, sizeof(n), 1, f);
  MyFoursquare=new Foursquare[n];
  fread(MyFoursquare, sizeof(Foursquare), n, f);
 
//     <caiieiaiea oaaeeou>
 
  for (int i=0; i<n; i++)
  {
   MyFoursquare[i].A=StrToFloat(StringGrid1->Cells[i+1][1]);
  }
 
//
 
  S=500;
  for (int i=0; i<n; i++)
  {
   MyPoint P; P.x=15; P.y=15;
   if (Rast(P.x[i], P.y[i])>D && Square(MyFoursquare[i])<S)
   {
    k++;
 
//     <auaia a oaaeeoo 2>
 
    for (int i=0; i<n; i++)
    {
     (StringGrid2->Cells[i+1][1])=FloatToStr(MyFoursquare[i].A);
    }
 
//
 
    Number=new float[k];
    for (int j=0; j<k; j++)
    {
     Number[j]=i;
    }
   }
   else
   {
    Label1->Caption="net figuri c ploshadyu <500 i rastoyaniem >D ot tochki do centra figuri.";
   }
  }
  for (int i=0; i<k; i++)
  {
   Label1->Caption="nomera figur c ploshadyu <500 i rastoyaniem >D ot tochki do centra figuri. "+FloatToStr(Number[i])+" ";
  }
  delete[]MyFoursquare;
  delete[]Number;
  fclose(f);
 }
} 
 
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Foursquare F; 
 F.center.x=StrToFloat(Edit2->Text);
 F.center.y=StrToFloat(Edit3->Text);
 F.A=StrToFloat(Edit4->Text);
 if(SaveDialog1->Execute())
 {
  f=fopen(SaveDialog1->FileName.c_str(), "ab");
  if(ftell(f)==0)
  {
   n=1;
   fwrite(&n, sizeof(n), 1, f);
   fwrite(&F, sizeof(F), 1, f);
  }
  else
  {
   fwrite(&F, sizeof(F), 1, f);
   rewind(f);
   fread(&n, sizeof(n), 1, f);
   n++;
   rewind(f); //eee fseek(f,-sizeof(n), 1);
   fwrite(&n, sizeof(n), 1, f);
  }
 
 
//     <auaia a oaaeeoo 1>
 
  for (int i=0; i<n; i++)
  {
   (StringGrid1->Cells[i+1][1])=FloatToStr(MyFoursquare[i].A);
  }
 
//
 
  fclose(f);
 }
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 Foursquare F; 
 F.center.x=StrToFloat(Edit2->Text);
 F.center.y=StrToFloat(Edit3->Text);
 F.A=StrToFloat(Edit4->Text);
 int num=StrToInt(Edit4->Text);
 if (SaveDialog1->Execute())
 {
  f=fopen(SaveDialog1->FileName.c_str(), "w+b");
  fread(&n, sizeof(int), 1, f);
  if (n<num)
  {
   fclose(f);
   ShowMessage("Mistake");
  }
  else
  {
   fseek(f, sizeof(Foursquare)*(num-1), 1);
   fwrite(&F, sizeof(F), 1, f);
 
//     <Ia?a?eniaaou a oaaeeoo 2>
 
   for (int i=0; i<n; i++)
   {
    (StringGrid2->Cells[i+1][1])=FloatToStr(MyFoursquare[i].A);
   }
 
//
 
   fclose(f);
  }
 }
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  n=5;
 StringGrid1->RowCount=2;
 StringGrid1->ColCount=6;
 StringGrid2->RowCount=2;
 StringGrid2->ColCount=6;
 StringGrid1->FixedRows=1;
 StringGrid1->FixedCols=1;
 StringGrid2->FixedRows=1;
 StringGrid2->FixedCols=1;
 StringGrid1->Cells[0][1]="A";
 StringGrid2->Cells[0][1]="P";
   for (int i=1; i <n+1; i++)
  {
   StringGrid1->Cells[i][0]=IntToStr(i);
   StringGrid2->Cells[i][0]=IntToStr(i);
  }
}
//---------------------------------------------------------------------------
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2013, 14:55
Ответы с готовыми решениями:

не могу найти ошибку!
Помогите найти ошибку!!!!! мне нужно случайным образом заполнить динамический массив, так что бы...

классы,не могу найти ошибку!
задание... вот то что я написала!!! #include &lt;iostream.h&gt; #include&lt;math.h&gt; class...

Что-то не могу найти ошибку
циклический сдвиг строк или столбцов массива... Если ввожу одинаковое кол-во сток и столбцов все...

Не могу найти ошибку(EAcessViolation)
Программа компилируется без ошибок, но при выполнении этого участка кода выскакивает ошибка...

4
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
20.04.2013, 19:06 2
И что, это компилируется?
0
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 5
20.04.2013, 22:09  [ТС] 3
да, это компилируется... но отказывается заносить данные в таблицу...
0
1702 / 898 / 207
Регистрация: 25.11.2009
Сообщений: 1,847
20.04.2013, 23:05 4
Цитата Сообщение от Blonddoctor Посмотреть сообщение
но отказывается заносить данные в таблицу...
как отказывается? Выдаёт сообщение об ошибке? Тогда покажи текст ошибки.
Или просто не происходит то, что ожидается?
Суть проблемы подробнее, пожалуйста
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
20.04.2013, 23:16 5
Я просто к чему спросил.
Есть структура MyPoint, содержащая две переменные типа float.
Есть функция Rast, принимающая два аргумента типа MyPoint.
В 74-75 строчках:
C++
1
2
 MyPoint P; P.x=15; P.y=15;
   if (Rast(P.x[i], P.y[i])>D && Square(MyFoursquare[i])<S)
Заполняем структуру числами, а в Rast передаем переменные как элементы массива, причем Rast вроде как объекты типа MyPoint принимает. как это скомпилировалось?
0
20.04.2013, 23:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2013, 23:16
Помогаю со студенческими работами здесь

Не могу найти ошибку в вычислении выражения
Учитель говорит что в ответе правильны только первые 3 цифры. void __fastcall...

наследование классов, не могу найти ошибку в С++
вот код #include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; enum ...

Builder C++; не могу найти ошибку в коде
#include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; // описание шаблона класса...

Class Flot - не могу найти ошибку
Ошибку пишет здесь:Ship ship; class Flot { public: int i, j, n; // переменные, используемые в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru