Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [QT] Ввод матрицы 
:(
    Опции темы
ShanderYO
Дата 27.4.2008, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. Мне нужно написать программу перемножения двух квадратных матриц и в Qt сделать к ним графический интерфейс. В C++ я программу написал, но теперь ,что я не могу нигде найти как вводить и с помощью какого инструмента в QT дизайнере ввести матрицу как переменную. Подскажите с помощью чего это можно реальзовать.
PM MAIL   Вверх
JackYF
Дата 27.4.2008, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(ShanderYO @  27.4.2008,  19:10 Найти цитируемый пост)
ввести матрицу как переменную.

QTableWidget - отображение. Загрузку/выгрузку из контейнера в твою матрицу - реализовывай как хочешь.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
ShanderYO
Дата 27.4.2008, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



JackYF,  Прости а можно чуть поподробней или ссылочку хотябы где про это прочитать можно,
а то пока не дошло   smile 

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


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(ShanderYO @  27.4.2008,  21:56 Найти цитируемый пост)
или ссылочку хотябы где про это прочитать можно,

Официальная документация, где же ещё smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
SABROG
Дата 28.4.2008, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

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



Падробнее: http://doc.trolltech.com/


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
XavierElf
Дата 28.4.2008, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 24.1.2007
Где: г. Тверь

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



Цитата(JackYF @  27.4.2008,  21:12 Найти цитируемый пост)
Загрузку/выгрузку из контейнера в твою матрицу - реализовывай как хочешь.

Можно к примеру использовать QList, QStringList, QMap, QMultiMap, QHash, QMultiHash. В крайнем случае можно использовать многомерные массивы, но это далеко не самый быстрый способ.  smile 
Вот пример умножения квадратных матриц размерности 4х4 с использованием QHash:
Код

//При умножении матриц с использованием хэш-таблиц очень удобно
//создавать хэш-таблицы для левой матрицы из строк,
//а для правой из столбцов

//матрица A (левый операнд)
QHash <int, int> a1;
QHash <int, int> a2;
QHash <int, int> a3;
QHash <int, int> a4;
//матрица B (правый операнд)
QHash <int, int> b1;
QHash <int, int> b2;
QHash <int, int> b3;
QHash <int, int> b4;
//матрица C (результирующая матрица)
QHash <int, int> c1;
QHash <int, int> c2;
QHash <int, int> c3;
QHash <int, int> c4;
//Здесь считываем матрицы A и B в хэш-таблицы
//TODO:
int i;
for (i = 0; i < 4; i++)
{
    //Первая строка результирующей матрицы
    c1[i] += (i == 0 ? a1[i]*b1[i] : (i == 1 ? a1[i]*b2[i] : ( i == 2 ? a1[i]*b3[i] : a1[i]*b4[i])));
    //Вторая строка результирующей матрицы
    c2[i] += (i == 0 ? a2[i]*b1[i] : (i == 1 ? a2[i]*b2[i] : ( i == 2 ? a2[i]*b3[i] : a2[i]*b4[i])));
    //Третья строка результирующей матрицы
    c3[i] += (i == 0 ? a3[i]*b1[i] : (i == 1 ? a3[i]*b2[i] : ( i == 2 ? a3[i]*b3[i] : a3[i]*b4[i])));
    //Четвёртая строка результирующей матрицы
    c4[i] += (i == 0 ? a4[i]*b1[i] : (i == 1 ? a4[i]*b2[i] : ( i == 2 ? a4[i]*b3[i] : a4[i]*b4[i])));
}


Это сообщение отредактировал(а) XavierElf - 28.4.2008, 19:12
--------------------
Даешь открытые исходники!
PM MAIL ICQ   Вверх
ShanderYO
Дата 13.5.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А может кто написать пример с QTable
PM MAIL   Вверх
XavierElf
Дата 13.5.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 24.1.2007
Где: г. Тверь

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



Вот примерчик на QTableWidget. Прошу сильно не пинать. Набросал наспех smile

Присоединённый файл ( Кол-во скачиваний: 98 )
Присоединённый файл  MultiplyMatrix.zip 87,14 Kb
--------------------
Даешь открытые исходники!
PM MAIL ICQ   Вверх
teatorb
Дата 13.9.2022, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




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


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

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