Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
AnshNiNe
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 89
1

Перенос данных из одного StringGrid в другой StringGrid

07.12.2017, 22:04. Просмотров 1442. Ответов 8
Метки нет (Все метки)

Здравствуйте . Есть очередной вопрос с матрицами.
Есть два StringGrid. В одном столбце первой матрицы есть цифровые значения. Есть Edit. Необходимо ввести число , и если оно меньше числа в столбце , то все строчка матрицы отображается во втором StringGrid. У меня в принципе получается это сделать , но выходит так , что на каком месте была строчка в первой матрице , на то же место она выходит и в новой матрице, а надо чтобы все было с первой строчки. Заранее спасибо. Ниже код
C++
1
2
3
4
5
6
7
8
9
float i , j ;
int sum;
sum=StrToFloat(Edit2->Text);
for (int i = 0; i < StringGrid1->ColCount; i++)
for (int j = 1; j < StringGrid1->RowCount; j++)
{
if(StrToInt( StringGrid1->Cells[6][j]) < sum)
StringGrid2->Cells[i][j]=StringGrid1->Cells[i][j] ;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2017, 22:04
Ответы с готовыми решениями:

Перенос строки из одного StringGrid-а в другой
Мне нужно найти элемент строки StringGrid-а, и перенести эту строку в другой StringGrid. Поиск я...

Перенос столбцов из одного StringGrid-а в другой
Всем привет! Такой вопрос, как можно перенести данные конкретного столбца из Stringgrid1 в...

Перенос столбца(информации) из StringGrid в другой StringGrid
Не могу разобраться с тем, как перенести значения(нажатием кнопки &quot;записать&quot;) выданные программой в...

Перенос столбца из StringGrid в другой StringGrid
Здравствуйте подскажите как перенести данные из столбца № 2 StringGrid2, в столбца № 2 StringGrid1.

8
lifeforce
254 / 201 / 87
Регистрация: 27.09.2010
Сообщений: 1,189
07.12.2017, 23:53 2
AnshNiNe, может так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
float i , j ;
int a=0;
int sum;
sum=StrToFloat(Edit2->Text);
for (int i = 0; i < StringGrid1->ColCount; i++)
for (int j = 1; j < StringGrid1->RowCount; j++)
{
if(StrToInt( StringGrid1->Cells[6][j]) < sum)
{
a++;
StringGrid2->Cells[i][a]=StringGrid1->Cells[i][j] ;
}
}
1
AnshNiNe
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 89
08.12.2017, 14:28  [ТС] 3
Что то похожее , но выходит так , что 1 элемент 1 столбца StringGrid1 переносится в 1 ячейку 1 столбца StringGrid2 .2 'ktvtyn во вторую ячейку ВТОРОГО столбца и тд. Лесенка выходит )

Добавлено через 2 часа 29 минут
Еще немного помощи действительно не помешало бы , мои шаманства не помогают )
0
Почтальон
Модератор
1136 / 886 / 175
Регистрация: 22.03.2015
Сообщений: 5,501
Записей в блоге: 3
Завершенные тесты: 2
08.12.2017, 14:54 4
Цитата Сообщение от AnshNiNe Посмотреть сообщение
мои шаманства не помогают )
не совсем корректно организован цикл.

Добавлено через 18 секунд
Пользуйтесь отладчиком, это вам пригодится.
1
AnshNiNe
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 89
08.12.2017, 16:44  [ТС] 5
Я к сожалению не умею пользоваться отладчиком и в скором времени освоить его не представляется возможным. Хотелось бы более конкретную помощь по поводу цикла. С уважением
0
lifeforce
254 / 201 / 87
Регистрация: 27.09.2010
Сообщений: 1,189
08.12.2017, 20:25 6
Лучший ответ Сообщение было отмечено AnshNiNe как решение

Решение

AnshNiNe,
тогда возможно надо чтоб копирование в следующем столбце опять начиналась сначала.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int i , j ;// так быстрее выполнение. здесь float совсем не нужен! 
int sum;// здесь int
sum=StrToInt(Edit2->Text);// так что и здесь нет нужды в float
for (int i = 0; i < StringGrid1->ColCount; i++)
{     int a=0;
for (int j = 1; j < StringGrid1->RowCount; j++)
{
// а здесь для каждой колонки 
if(StrToInt( StringGrid1->Cells[6][j]) < sum)// 
//в цикле будет проверяться одно и тоже?
{
a++;
StringGrid2->Cells[i][a]=StringGrid1->Cells[i][j] ;
}
}
}
1
Почтальон
Модератор
1136 / 886 / 175
Регистрация: 22.03.2015
Сообщений: 5,501
Записей в блоге: 3
Завершенные тесты: 2
08.12.2017, 20:47 7
Может проще копировать строки, раз колонки одинаковы ?
1
AnshNiNe
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 89
08.12.2017, 21:57  [ТС] 8
Спасибо большое всем , выручили .) Посмотрю что тут произошло , а float потому что у меня там цифры могут быть не целочисленные
0
lifeforce
254 / 201 / 87
Регистрация: 27.09.2010
Сообщений: 1,189
08.12.2017, 23:53 9
Лучший ответ Сообщение было отмечено AnshNiNe как решение

Решение

Цитата Сообщение от AnshNiNe Посмотреть сообщение
цифры могут быть не целочисленные
тогда ошибка еще в самом начале
Цитата Сообщение от AnshNiNe Посмотреть сообщение
int sum;
тогда все условие будет выглядеть так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int i , j ;//
float sum;//
sum=StrToFloat(Edit2->Text);// 
for (int i = 0; i < StringGrid1->ColCount; i++)
{     int a=0;//цикл каждой новой колонки будет начинаться сначала строки.
for (int j = 1; j < StringGrid1->RowCount; j++)
{
// а здесь для каждой колонки в цикле будет проверяться одно и тоже?
if(StrToFloat( StringGrid1->Cells[6][j]) < sum)//только здесь не могу понять 
//почему проверять только одну колонку 6 во всем цикле разных колонок? 
//
{
a++;
StringGrid2->Cells[i][a]=StringGrid1->Cells[i][j] ;
}
}
}
1
08.12.2017, 23:53
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2017, 23:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Перенос данных из одного stringgrid в другие
Есть 3 stringgrid'а. В первый заносим данные(любые от руки), во второй значения всех четных ячеек,...

Как перенести строку из одного StringGrid в столбец другого StringGrid?
Всем добра уважаемые спецы в программировании! Не могу сообразить как сделать следующее в...

Транспонирование одного StringGrid-а в другой
Всем привет . 1)Подскажите как сделать так чтоб StringGrid1 выводил значения в StringGrid3 так...

Необходимо сложить ячейки в столбце Stringgrid и вывести в другой Stringgrid
Необходимо сложить ячейки в столбце Stringgrid и вывести в другой Stringgrid Количество столбцов...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.