![]() |
|
![]() ![]() ![]() |
|
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
Еще раз всем привет.Есть код программки, которая создает массив из элементов по функции, и в каждой строчке меняет максимальный элемент по модулю с диагональным
Нужно реализовать её в билдере(сделать обработчик для кнопки, исходную матрицу вбить к примеру в один stringgrid,подсчитанную в другой) Проблема в том, что никак не получается связать с ячейками.. Может кто-нибудь подсказать алгоритм "переврда"? |
|||
|
||||
smoke_man |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Кидаешь два StringGrid`а у одного ставишь свойство Options - goEditing в true.
Далее заполняешь свой массив, например так:
Таким же образом записываешь обработанный результат в другой StringGrid:
Добавлено через 1 минуту и 16 секунд Только не забудь сделать проверки - чтоб не было переполнения. -------------------- 0x2b|~0x2b |
||||
|
|||||
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
Спасибо=)
Я вот только понять не могу, как значения функции загнать в ячейки.. |
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Ты имеешь виду SetValue?
-------------------- 0x2b|~0x2b |
|||
|
||||
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
именно
все переменные плюс const double X = M_PI /10; обьявила, N = Form1->StringGrid1 -> RowCount; N = Form1->StringGrid1 -> ColCount; for(int i = 1 ; i < N; i++) for(int j = 1; j < N ; j++) сделала, а как быть с A[i][j] = cos(double(i+j))*X; cout << A[i][j] << " "; не пойму..точнее как это правильно записать |
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Тогда тебе один StringGrid не нужен. Кидаешь на форму два Edit`а, в которые вводятся размерности исходного массива, а дальше уже используется твоя функция SetValue.
Добавлено @ 01:04 Так можно от функции отказаться - непосредственно сразу считать значение. Строку с cout удали. Это сообщение отредактировал(а) smoke_man - 13.12.2009, 01:05 -------------------- 0x2b|~0x2b |
|||
|
||||
киса2009 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
это почему не нужен?)))
мне в первый нужно сформировать массив, соотв.значениям формулы aij = cos (i + j ) * x, х=п/10, а во второй уже с замененными значениями Добавлено через 5 минут и 11 секунд
а как?=[ Добавлено через 13 минут и 49 секунд сделала для первого такой кусочек
но,как ни странно, не правильно |
||||
|
|||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Если делать все по выше написанному, то, например, так(с учетом 2-х Edit):
Это сообщение отредактировал(а) smoke_man - 13.12.2009, 01:24 -------------------- 0x2b|~0x2b |
|||
|
||||
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
это все под кнопку?=[[[
|
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Да.
-------------------- 0x2b|~0x2b |
|||
|
||||
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
||||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Где именно возникает ошибка?
-------------------- 0x2b|~0x2b |
|||
|
||||
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
Смотри, решила пойти последовательно, пока все остальное опустила, оставила только один StringGrid, два эдита и одну кнопку.
такой код
после ввода размерности при нажатии на кнопку вылетает ошибка ![]() |
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Так под массив A надо память выделить.
-------------------- 0x2b|~0x2b |
|||
|
||||
киса2009 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 21.9.2009 Где: Москва)) Репутация: нет Всего: нет |
double ** A= new double * [counti];
for(int i=0;i<counti;i++) A[counti]= new double [countj]; так? Это сообщение отредактировал(а) киса2009 - 13.12.2009, 02:23 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |