Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/26: Рейтинг темы: голосов - 26, средняя оценка - 4.50
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408

Сумма строки StringGrid

27.11.2013, 12:02. Показов 5502. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел как складывать строки на Делфи Но как это делаится на С Пробывал так

C++
1
2
3
4
5
 double i,j,sum;
sum=0;
for (j=0;j<StringGrid1->RowCount;j++)
sum=sum+StrToFloat(StringGrid1->Cells[j][i]);
ShowMessage(sum);
и так

C++
1
2
3
4
5
6
7
8
9
   int i,j;
AnsiString Sum="";
 
 
for(int i=0;i<StringGrid1->ColCount;i++)
for(int j=0;j<StringGrid1->RowCount;j++)
Sum+=StringGrid1->Cells[j][i];
ShowMessage(Sum);
Edit6->Text=Sum;
В общем не сооброжаю как сложить построчно
например 5 строк
............Результатом должно быть соотвецтвенно.

1234.....10
5362.....16
4562.....17
2345.....14
2135.....11

Ещё надо чтобы в этом же стрингГриде добовлялся стобец с права и тут вписывались эти результаты, но только 1 раз.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2013, 12:02
Ответы с готовыми решениями:

Сумма элементов строки stringgrid
procedure TForm5.Button1Click(Sender: TObject); var i,j,b,a,f:integer; c:array of real; h:real; begin h:=0; ...

Сумма элементов строки и вывод в stringgrid
Есть stringgrid1 размером 4х15 в первом столбике слова . Надо сложить каждую строку и итог этой строки присвоить в stringgrid2 который...

Сортировка в StringGrid последний строки в котором сумма столбцов
Не могу правильно организовать сортировку StringGrid последной строки в котором находятся суммы столбцов. Задача: организовать...

26
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.11.2013, 10:21
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от StalkerIQ Посмотреть сообщение
for(double iCOL=1;iCOL<=StringGrid1->ColCount-1;iCOL++)
{
double symma=0;
StringGrid1->Cells[iCOL][StringGrid1->RowCount]="0";
for(double iROW=1;iROW<StringGrid1->RowCount-1;iROW++)
{
symma+=StrToFloat(StringGrid1->Cells[iCOL][iROW]);
}
А зачем в теле цикла объявлять каждый раз тип double?

И зачем переменную iROW в цикле объявлять как тип double?

Добавлено через 51 секунду
Или чё-то я недопонимаю.....
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
28.11.2013, 10:43

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
Безусловно. Даже если NxM.
Опять по хардкору?))) :-D


Цитата Сообщение от SatanaXIII Посмотреть сообщение
Цитата Сообщение от StalkerIQ Посмотреть сообщение
брать корень равный (1/ на число которое у меня в ComboBox'e)
Это корень так теперь считается?
Присоединяюсь к этому вопросу.
1
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
28.11.2013, 14:27  [ТС]
Цитата Сообщение от Kulgar Посмотреть сообщение
Присоединяюсь к этому вопросу.
А тут всё просто если массив 6х6 то корень которы нужно извлесь равено 1/6 если 4х4 то 1/4
Я уже нашел как c корнем поступить

Ну например вот как извлеч корень (1/6 )из 24

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button14Click(TObject *Sender)
{
double b,l,a;
 
 
 a=24;
 
                b=1./6;
 
                l=pow(a,b);
 
                Edit7->Text=l;
 
}
//---------------------------------------------------------------------------
P.S. через пару минут постараюсь показать что мне по конкретней нужно реализовать в своей проге =)

Добавлено через 15 минут
А как тут картинки добовлять? нашел.
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
28.11.2013, 14:32  [ТС]
Один снимок до нажатия другой псоле =)
Миниатюры
Сумма строки StringGrid   Сумма строки StringGrid  
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
28.11.2013, 14:48  [ТС]
На данный момент у меня форимурет массив размер которого равен числу выбраному в ComboBox по диагонали записываются еденицы в остальных ячейках как вы помните функция ComboBox там числа от 1 до 9. Диагональ нельза редактировать, в низу сумма чисел выводится после нажатия, с права же надо доделать я кстати думал что с саммы на умнажение будет лего поменять =) но я профан и этим всё сказано +)
Писал бы я на Delphi у меня бы проблем небыло (((( А тут нужно обязательно на "C" а времени писать на Delphi а потом переводить на "С" не о собо много да и к тому же я не так селён в С чтобы быстро с Delphi переводить на С.

Добавлено через 10 минут
Там опечатка не саммы а суммы*
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
28.11.2013, 14:48
StalkerIQ, дописал в функцию The_Immortal умножение:
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
void Sum()
{
    int Sum=0, temp=0;
    int Proizv=1;
    for (int i=1; i<Form1->StringGrid1->RowCount-2; i++)
    {
        for(int j=1; j<Form1->StringGrid1->ColCount-2; j++)
        {
            if (!TryStrToInt(Form1->StringGrid1->Cells[j][i],temp))
            {
                ShowMessage(" ñòðîêå ¹" + IntToStr(i+1)+ " ñòîëáöà ¹" + IntToStr(j+1)+ " ñîäåðæèòñÿ íåêîððåêòíîå çíà÷åíèå.");
                Sum+=0;
            }
            else
            {
                Sum+=temp;
                Proizv*=temp;
            }
        }
        Form1->StringGrid1->Cells[Form1->StringGrid1->ColCount-2][i]=IntToStr(Sum);
        Form1->StringGrid1->Cells[Form1->StringGrid1->ColCount-1][i]=IntToStr(Proizv);
        Sum=0;
        Proizv=1;
    }
    for (int i=1; i<Form1->StringGrid1->ColCount-2; i++)
    {
        Sum=0;
        for(int j=1; j<Form1->StringGrid1->RowCount-2; j++)
        {
            if (!TryStrToInt(Form1->StringGrid1->Cells[i][j],temp))
            {
                Sum+=0;
            }
            else
            {
                Sum+=temp;
                Proizv*=temp;
            }
        }
        Form1->StringGrid1->Cells[i][Form1->StringGrid1->RowCount-2]=IntToStr(Sum);
        Form1->StringGrid1->Cells[i][Form1->StringGrid1->RowCount-1]=IntToStr(Proizv);
        Sum=0;
        Proizv=1;
    }
}
Совершенно ничего сложного. И очень сомневаюсь, что на Delphi это сильно отличалось бы. Итератор и в Африке итератор. *DONT_KNOW*
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
28.11.2013, 15:00  [ТС]
Просто синтаксис отличается =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2013, 15:00

Содержимое выделенной строки из первого StringGrid-а перенести во второй StringGrid
Нужно написать программу которая выполняет следующие действия. Есть два StringGrid. По нажатия на кнопку, Содержимое выделенной строки из...

Stringgrid и сумма
Всем привет! Помогите, пожалуйста, не получается. Есть 3 заполненных StringGrid, размерностью (i, 0). Нужно из этих StringGrid, создать 3...

Сумма в StringGrid
Ребята выручайте, уже 2 час сижу мучаюсь. Задали программу сделать для расчета среднего балла ученика, ученицы и общего среднего балла. Я...

Сумма в столбцах Stringgrid
Добрый день! Прошу о помощи! Есть две таблицы Stringgrid. Одна таблица изменяется в зависимости от текстового файла, который мы загружаем...

Сумма столбцов в StringGrid
Помогите плиз мне надо рассчитать сумму столбцов в StringGrid.


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru