Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239

StringGrid и среднее значение 4х ячеек

05.05.2011, 16:52. Показов 2082. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как правильно написать выражение вычисления среднего значения двумерного массива.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TFrmVpl::Btn21Click(TObject *Sender)
{
     FrmVpl->PgCont1->Pages[2]->Show();
     StGr2->FixedCols=0;
     StGr2->FixedRows=0;
     StGr2->ColCount=a11;       
     StGr2->RowCount=b11;       
     for(i=0;i<FrmVpl->StGr1->ColCount;i++){
       for(j=0;j<FrmVpl->StGr1->RowCount;j++){
          StGr2->Cells[i][j]=FrmVpl->StGr1->(Cells[i][j]+Cells[i][j+1]+
Cells[i+1][j]+Cells[i+1][j+1])/4;
 
        }}
}
И возникает ошибка в строчке
C++
1
2
StGr2->Cells[i][j]=FrmVpl->StGr1->(Cells[i][j]+Cells[i][j+1]+
Cells[i+1][j]+Cells[i+1][j+1])/4;
[C++ Error] E2280 Member identifier expected.

Сорри, не в тот форум тему написала
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2011, 16:52
Ответы с готовыми решениями:

Среднее арифметическое ячеек в строках StringGrid
Существует таблица, в которой число столбцов равно числу дней в месяце. У меня есть код который складывает каждую ячейку столбца и делит...

Проверка ячеек StringGrid на пустое значение
Доброго Времени суток! Нужна помощь: Присваиваю переменной числовое значение из ячейки StringGrid' a, а потом провожу математические...

Посчитать значение крайних ячеек в StringGrid
Необходимо написать 2 цикла, один считает по крайнему столбцу все значения ячеек и записывает в одну переменную, а второй по последней...

5
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
05.05.2011, 17:30
У Вас там туча ошибок

1) Во-первых, нельзя выносить за скобки класс
2) Во-вторых, ячейки стрингрида хранят строки, а Вы пытаетесь их сложить, судя по логике, как числа - результат Вас удивит Если там "числа", то предварительно выполните преобразование StrToInt
3) В-третьих, результат надо положить в ячейку с обратным преобразованием, судя по арифм.операции (/) FloatToStr или Format
4) Вы как-то "крест-накрест" получаете сумму. Если так и надо, то проверяйте индексы строк и колонок на "края", иначе будет аутофиндекс
1
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
05.05.2011, 17:37  [ТС]
У меня они типа double, значит пишу StrToDouble после Cells, а как же тогда вычислить среднее значение(синтаксически)?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
05.05.2011, 18:31
C++
1
2
3
4
5
double d;
TStringGrid *sgr;
sgr = FrmVpl->StGr1;
d = StrToDouble(sgr->Cells[..])+StrToDouble(sgr->Cells[..])+...)
FrmVpl->StGr2->Cells[..] = Format("%f...",d/4);
1
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
05.05.2011, 18:32  [ТС]
Следующее написала, но ошибка во время работы программы - по нажатию кнопки, почему?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TFrmVpl::Btn21Click(TObject *Sender)
{
     FrmVpl->PgCont1->Pages[2]->Show();
     StGr2->FixedCols=0;
     StGr2->FixedRows=0;
     StGr2->ColCount=a11;       //Çàäàåì ðàçìåð ïî øèðèíå
     StGr2->RowCount=b11;       //Çàäàåì ðàçìåð ïî äëèíå
     for(i=0;i<FrmVpl->StGr1->ColCount;i++){
       for(j=0;j<FrmVpl->StGr1->RowCount;j++){
         sum1=StrToFloat(StGr1->Cells[i][j])+
                StrToFloat(StGr1->Cells[i][j+1]);
         sum2=StrToFloat(StGr1->Cells[i+1][j])+
                StrToFloat(StGr1->Cells[i+1][j+1]);
         sum3=(sum1+sum2)/4;
        StGr2->Cells[i][j]=sum3;
 
 
        }}
}
Миниатюры
StringGrid и среднее значение 4х ячеек  
0
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
05.05.2011, 22:37  [ТС]
Сижу пробую уже весь день(, теперь другая ошибка:
C++
1
FrmVpl->StGr2->Cells[i][j]=Format("%f",sum3); //?
E2110 Incompatible type conversion
E2193 Too few parameters in call to '__fastcall Format(const AnsiStrng,const TVarRec*,const int)'. У меня вообще-то не символы, а численный тип данных.

Добавлено через 3 часа 1 минуту
Совсем запуталась я, только на Вас
MsGuns, надеюсь. Пишу снова код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int i,j,a11,b11;
double a1,b1,sum1,sum2,sum3;
 
void __fastcall TFrmVpl::Btn21Click(TObject *Sender)
{
     FrmVpl->PgCont1->Pages[2]->Show();
     StGr2->FixedCols=0;
     StGr2->FixedRows=0;
     StGr2->ColCount=a11+1;       //Çàäàåì ðàçìåð ïî øèðèíå
     StGr2->RowCount=b11+1;       //Çàäàåì ðàçìåð ïî äëèíå
     for(i=0;i<FrmVpl->StGr1->ColCount;i++){
       for(j=0;j<FrmVpl->StGr1->RowCount;j++){
         sum1=StrToFloat(StGr1->Cells[i][j])+
                StrToFloat(StGr1->Cells[i][j+1]);
         sum2=StrToFloat(StGr1->Cells[i+1][j])+
                StrToFloat(StGr1->Cells[i+1][j+1]);
         sum3=(sum1+sum2)/4;
        FrmVpl->StGr2->Cells[i][j]=sum3;
        }}
}
Появляется такая ошибка, как в 5ом сообщении(см скрин). Заранее Благодарю

Добавлено через 14 минут
Уф,сама разобралась,Спасибо Всё равно Вам! Вот мой код и он работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TFrmVpl::Btn21Click(TObject *Sender)
{
     FrmVpl->PgCont1->Pages[2]->Show();
     StGr2->FixedCols=0;
     StGr2->FixedRows=0;
     StGr2->ColCount=a11;       //Çàäàåì ðàçìåð ïî øèðèíå
     StGr2->RowCount=b11;       //Çàäàåì ðàçìåð ïî äëèíå
     for(i=0;i<FrmVpl->StGr1->ColCount-1;i++){
       for(j=0;j<FrmVpl->StGr1->RowCount-1;j++){
         sum1=StrToFloat(StGr1->Cells[i][j])+
                StrToFloat(StGr1->Cells[i][j+1]);
         sum2=StrToFloat(StGr1->Cells[i+1][j])+
                StrToFloat(StGr1->Cells[i+1][j+1]);
         sum3=(sum1+sum2)/4;
        FrmVpl->StGr2->Cells[i][j]=sum3;
 
 
       }}
}
Тема закрыта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2011, 22:37
Помогаю со студенческими работами здесь

Найти среднее значение 500 ячеек
Здравствуйте форумчане. Подскажите как сделать срзнач огромного кол-ва ячеек, где то штук 500, только они расположены не друг за другом а с...

Подсчитать среднее значение непустых ячеек
Как подсчитать среднее значение диапазона ячеек, чтобы среднее считалось по количеству не пустых ячеек, а из тех в которых есть данные...

Среднее значение и подсчет ячеек с двумя условиями
Доброго времени суток! Подскажите пожалуйста с помощью каких функций Эксель можно: 1. найти среднее значение по двум параметрам...

Как посчитать среднее значение непустых ячеек в dbgrid?
как посчитать среднее значение непустых ячеек в dbgrid

Застрял со StringGrid (нужно посчитать среднее значение )
Стоит задача - найти среднее количество жителей для стран на заданном континенте. Нужно в поле Edit ввести континент и для него...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru