Russian Qt Forum
Сентябрь 25, 2024, 15:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО!] Проблема с QTableWidget  (Прочитано 4564 раз)
alertforce
Гость
« : Апрель 09, 2011, 11:19 »

Помогите пожалуйста, в моей проге неправильно считается сумма елементов последнего столбика в чем может быть проблема?
Текст программы:

long a[4][4];
void Lbb::on_pushButton_clicked()
{

            ui->tableWidget->setRowCount(4);
    ui->tableWidget->setColumnCount(4);
}

void Lbb::on_pushButton_2_clicked()
{
   int i,j,imin,jmax,s,min,max;

   for (i=0;i<=3;i++) {
       for (j=0;j<=3;j++)
           a[j]=ui->tableWidget->item(i,j)->text().toLong();
   }
   max=a[0][0]+a[1][0]+a[2][0]+a[3][0];
   jmax=0;
   for (j=1;j<=3;j++)
   { s=a[0][j]+a[1][j]+a[2][j]+a[3][j];
    if (s>=max)
       {
        max=s;
        jmax=j;
       }
   }
   min=a[0][jmax];
   imin=0;

   for (i=1;i<=3;i++)
   {
if (a[jmax]<=min)
       {
    min=a[jmax];
    imin=i;
       }
   }
   ui->lineEdit->setText(QString ("%1").arg(a[imin][jmax]));

}
« Последнее редактирование: Апрель 09, 2011, 14:02 от alertforce » Записан
madRoger
Гость
« Ответ #1 : Апрель 09, 2011, 12:28 »

По-моему, в этой программе все неправильно считается, ну может кроме нахождения максимума наверное, и то, там есть лишний цикл.
Записан
alertforce
Гость
« Ответ #2 : Апрель 09, 2011, 12:57 »

блин, точно Грустный в чем может быть ошибка не поможете а то я не пойму Непонимающий
Записан
mutineer
Гость
« Ответ #3 : Апрель 09, 2011, 13:13 »

А тебя не парит, что ты данные из таблицы переводишь в double, складываешь и сохраняешь результат в int?
« Последнее редактирование: Апрель 09, 2011, 13:19 от mutineer » Записан
alertforce
Гость
« Ответ #4 : Апрель 09, 2011, 13:20 »

ну это не влияет на результат хоть я и перевел в инт
Записан
mutineer
Гость
« Ответ #5 : Апрель 09, 2011, 13:22 »

можешь пример привести что именно не так считается?
Записан
madRoger
Гость
« Ответ #6 : Апрель 09, 2011, 13:26 »

Размерность таблицы 4х4 а массив a 3х3, размерности должны быть равны.
Переменные min и max должны быть того же типа что и массив а
При поиске максимума цикл можно начинать с 1, так как максимум уже определен в 0 столбце (не критично)

« Последнее редактирование: Апрель 09, 2011, 13:33 от madRoger » Записан
mutineer
Гость
« Ответ #7 : Апрель 09, 2011, 13:35 »

Код:
a[j]=ui->tableWidget->item(i,j)->text().toLong();

вот тут лажа с индексом а - индекс один, хотя массив двумерный
Записан
madRoger
Гость
« Ответ #8 : Апрель 09, 2011, 13:38 »

Да нет, с индексами там похоже все ОК. Это на форуме лажа с отображением i в квадратных скобках.
Записан
mutineer
Гость
« Ответ #9 : Апрель 09, 2011, 13:40 »

Да нет, с индексами там похоже все ОК. Это на форуме лажа с отображением i в квадратных скобках.
Это не у форума лажа, а код надо в тэг оборачивать, ибо i в квадратных скобках воспринимается как начало курсивного текста
Записан
alertforce
Гость
« Ответ #10 : Апрель 09, 2011, 13:42 »

все спасибо , все работает Рот на замке
я поменял размерность вначале long a[4][4] и все пошло
« Последнее редактирование: Апрель 09, 2011, 13:44 от alertforce » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.115 секунд. Запросов: 20.