Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отнятие ? где ошибка в StingGrid 
:(
    Опции темы
PsiHo
  Дата 29.11.2006, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго дня !!! 
вопросик почему пи отнемании в таблице типа StringGrid 
отнемает не правильно 
в 3,4,5,6 цифры 
в 7 результат 

значение 
в 3-й ячейке = 293380
в 4-й = 0 
в 5-й = 0
в 6-й = 383908 

в 7 получает результат 767816  а должно получится 90528


Код

 for(int x = 1; x < sg3->RowCount; x++)
  for(int z = 4; z < 7; z++)
   {
    sg4->Cells[7][x]= FloatToStr(StrToInt(sg4->Cells[z][x]) + StrToInt(sg4->Cells[z][x]));
   }


Это сообщение отредактировал(а) PsiHo - 29.11.2006, 09:31
PM MAIL   Вверх
pandrew
Дата 29.11.2006, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



На Руси принято говорить "вычитание". В математике это действие обозначается знаком "-" (читается "минус").
PM MAIL   Вверх
RatHat
Дата 29.11.2006, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вождь индейцев
*


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

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



Код
sg4->Cells[7][x]= FloatToStr(StrToInt(sg4->Cells[z][x]) + StrToInt(sg4->Cells[z][x]));

 У тебя получается сложение двух одинаковых величин)
тебе надо:
Код
sg4->Cells[7][x]= FloatToStr(StrToInt(sg4->Cells[6][x]) - StrToInt(sg4->Cells[3][x]));

--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i
PM MAIL   Вверх
PsiHo
Дата 29.11.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



RatHat, ты хочешь сказать надо конкретно прописывать ?
а как сделать автоматом ?
если число ячее больше не будешь же  прописывать все ?

pandrew, да  это минус !!!


PM MAIL   Вверх
Reptile
Дата 29.11.2006, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

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



Цитата(PsiHo @  29.11.2006,  09:30 Найти цитируемый пост)

 
Код

for(int x = 1; x < sg3->RowCount; x++)
  for(int z = 4; z < 7; z++)
   {
    sg4->Cells[7][x]= FloatToStr(StrToInt(sg4->Cells[z][x]) + StrToInt(sg4->Cells[z][x]));
   }



Ты посмотри что Ты делаеш!  RatHat прав  
Цитата(RatHat @  29.11.2006,  10:00 Найти цитируемый пост)
У тебя получается сложение двух одинаковых величин

Ты заносиш(при первом прошоде цыкла)
 Cells[7][1] = Cells[4][1]+Cells[4][1]

Ты слаживаеш два одинаковых значения.
PM MAIL   Вверх
PsiHo
Дата 29.11.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(PsiHo @  29.11.2006,  12:05 Найти цитируемый пост)
RatHat, ты хочешь сказать надо конкретно прописывать ?а как сделать автоматом ?если число ячее больше не будешь же  прописывать все ?

 smile 
PM MAIL   Вверх
Reptile
Дата 29.11.2006, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

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



Цитата(PsiHo @  29.11.2006,  12:05 Найти цитируемый пост)
а как сделать автоматом ?

Попробуй так:
Код

int num := StrToInt(sg4->Cells[3][1]);
for(int x = 1; x < sg3->RowCount; x++)
  {
    for(int z = 4; z < 7; z++)
     {
          num -=   StrToInt(sg4->Cells[z][x]);
     }
  sg4->Cells[7][x]= IntToStr(num);
  }


Если в я чейках могут быть дробные числа, то вместо StrToInt(IntToStr) используй StrToFloat(FloatToStr) и num соответственно объяви как float.
PM MAIL   Вверх
PsiHo
Дата 29.11.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Reptile, гы спасибо уже пробовал такой вариант и твой тоже 
также пишет -383908 
"пи" что заааа такой....
 smile 
PM MAIL   Вверх
Reptile
Дата 29.11.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

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



Покажи какие числа в StringGrid и код которым считаеш.
Извеняюсь нашел ошибку(у себя):
Код

num -=   StrToInt(sg3->Cells[z][x]);//не sg4 а sg3

PM MAIL   Вверх
PsiHo
Дата 30.11.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ВСЕМ СПАСИБО ЗА УЧАСТИЕ 
вопрос решен
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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