Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Heeelp!


Titanik ©   (2006-03-30 14:00:00) 

Всем привет! Мастера, как, бы мне реализовать такое: сумма(sqr(Xi-3,7)). Xi - это данные из таблицы.


Сергей М.   (2006-03-30 15:21:00) [1]


> Titanik   (30.03.06 15:17) [19]
> Блин, по человечески объясняю - все так и есть


Врать своей бабушке будешь.

Вот цитата из станд.справки, если тебе иные аргументы побоку:

Lists the strings for each cell in the grid.

Delphi syntax:

property Cells[ACol, ARow: Integer]: string;

Выделенное жинрым тебе о чем-то говорит ?


Titanik   (2006-03-30 15:17:00) [2]

Блин, по человечески объясняю - все так и есть...


Сергей М.   (2006-03-30 15:14:00) [3]


> Titanik   (30.03.06 15:08) [17]


Когда врешь, прищуривайся)


Titanik   (2006-03-30 15:08:00) [4]

Клянусь такой и есть код!Сам Нихрена не пойму! Делаю все как надо - ругается!


Kolan   (2006-03-30 14:58:00) [5]

Titanik   (30.03.06 14:56) [12]

Ну не может быть :). Даже компилятор не пустил... :)
Как можно от строки отнять ЧИСЛО?


Romkin   (2006-03-30 14:57:00) [6]

1.
For i:= 1 to 50 do
StringGrid1.Cells[i,0]:=inttostr(i);
StringGrid1.Cells[i,1]:=floattostr(i);

Ты уверен?

2.
B:=B+(sqr(StringGrid1.Cells[i,1]-3.7));
Не может быть! Это не может пропустить компилятор!

Приведи реальный код


balepa   (2006-03-30 14:57:00) [7]


> Kolan ©   (30.03.06 14:54) [11]

Во, во. Думать немогут, А сами на дельфи все валят


Kolan   (2006-03-30 14:57:00) [8]

И даже так:
 for i:=1 to 50 do
   S:=S+ (Sqr( StrToFloat(StringGrid1.Cells[I,1])-3.7)) ;
 ShowMessage(FloatToStr(S));

Неправильно.

Да и вообще у тебя что F7, F8 не работает? Элементарная задача. Задана в основную конф.

Для отладики нода 1 мин.


Titanik   (2006-03-30 14:56:00) [9]

хм...у меня нет такой ошибки! все считается, только результат неверный


Kolan   (2006-03-30 14:54:00) [10]

Вот специально проверил:
   S:=S+(sqr(StringGrid1.Cells[i,1]-3.7));

[Error] Unit1.pas(40): Incompatible types: 'String' and 'Extended'

Ну и что дальше...


Titanik   (2006-03-30 14:50:00) [11]

procedure TForm1.FormCreate(Sender: TObject);
Var i:integer;
begin
StringGrid1.Cells[0,0]:='Ni';
StringGrid1.Cells[0,1]:='Xi';
For i:= 1 to 50 do
StringGrid1.Cells[i,0]:=inttostr(i);
StringGrid1.Cells[i,1]:=floattostr(i);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
B:real;
begin
B:=0;

for i:=1 to 50 do
B:=B+(sqr(StringGrid1.Cells[i,1]-3.7));
 Edit4.Text:= FloatToStr(B);

   end;


Kolan   (2006-03-30 14:44:00) [12]

Titanik   (30.03.06 14:39) [7]
В
Kolan ©   (30.03.06 14:23) [4]
Тебе было доказано, что этот метод подсчета суммы работает верно.

Что и как ты запускаещь у себя никто не знает. Почему икому он должне быть 131,33 тоже никто, кроме тебя незнает.

Поэтому приведи свваой код. Может тогда можно будет сказать где у тебя ошибка....


Сергей М.   (2006-03-30 14:44:00) [13]


> 50 разных цифр



> Чувствуется разница?


50-ричная система счисления ?

Или ты не чувствуешь разницу между "цифра" и "число" ?


Titanik   (2006-03-30 14:39:00) [14]

Xi - это 50 разных цифр в одной строке таблицы! Запускаю этот цикл, ответ:2236,17. А должен быть 131,33. Чувствуется разница?


Kolan   (2006-03-30 14:30:00) [15]

А я знаю что такое ТВОЙ Xi?


Titanik   (2006-03-30 14:28:00) [16]


>  for I := 1 to 2 do
>  begin
>    S := S + Sqr( 0- 3.7);
>  end;

А с какого перепуга здесь0?


Kolan   (2006-03-30 14:23:00) [17]

Врать не надо....

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 S: Double;
 I: Integer;
begin
 S := 0;
 for I := 1 to 2 do
 begin
   S := S + Sqr(0 - 3.7);
 end;
 ShowMessage(FloatToStr(S));
end;


Ответ:
27,38

Если не веришь проверь на калькуляторе...


Плохиш   (2006-03-30 14:17:00) [18]

Хм, у всех правильный, а у тебя неправильный. Ни на какие мысли не наводит?


Titanik   (2006-03-30 14:15:00) [19]

Уже пробовал, неправильный результат!


Kolan   (2006-03-30 14:10:00) [20]

var
 S: Double;

S := 0;
for I  := 1 to N do
begin
   S := S + Sqr(Xi - 3.7);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо