Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: alertforce от Апрель 09, 2011, 11:19



Название: [РЕШЕНО!] Проблема с QTableWidget
Отправлено: 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]));

}


Название: Re: Проблема с QTableWidget
Отправлено: madRoger от Апрель 09, 2011, 12:28
По-моему, в этой программе все неправильно считается, ну может кроме нахождения максимума наверное, и то, там есть лишний цикл.


Название: Re: Проблема с QTableWidget
Отправлено: alertforce от Апрель 09, 2011, 12:57
блин, точно :( в чем может быть ошибка не поможете а то я не пойму ???


Название: Re: Проблема с QTableWidget
Отправлено: mutineer от Апрель 09, 2011, 13:13
А тебя не парит, что ты данные из таблицы переводишь в double, складываешь и сохраняешь результат в int?


Название: Re: Проблема с QTableWidget
Отправлено: alertforce от Апрель 09, 2011, 13:20
ну это не влияет на результат хоть я и перевел в инт


Название: Re: Проблема с QTableWidget
Отправлено: mutineer от Апрель 09, 2011, 13:22
можешь пример привести что именно не так считается?


Название: Re: Проблема с QTableWidget
Отправлено: madRoger от Апрель 09, 2011, 13:26
Размерность таблицы 4х4 а массив a 3х3, размерности должны быть равны.
Переменные min и max должны быть того же типа что и массив а
При поиске максимума цикл можно начинать с 1, так как максимум уже определен в 0 столбце (не критично)



Название: Re: Проблема с QTableWidget
Отправлено: mutineer от Апрель 09, 2011, 13:35
Код:
a[j]=ui->tableWidget->item(i,j)->text().toLong();

вот тут лажа с индексом а - индекс один, хотя массив двумерный


Название: Re: Проблема с QTableWidget
Отправлено: madRoger от Апрель 09, 2011, 13:38
Да нет, с индексами там похоже все ОК. Это на форуме лажа с отображением i в квадратных скобках.


Название: Re: Проблема с QTableWidget
Отправлено: mutineer от Апрель 09, 2011, 13:40
Да нет, с индексами там похоже все ОК. Это на форуме лажа с отображением i в квадратных скобках.
Это не у форума лажа, а код надо в тэг оборачивать, ибо i в квадратных скобках воспринимается как начало курсивного текста


Название: Re: Проблема с QTableWidget
Отправлено: alertforce от Апрель 09, 2011, 13:42
все спасибо , все работает :-X
я поменял размерность вначале long a[4][4] и все пошло