Russian Qt Forum

Qt => Общие вопросы => Тема начата: Dealaxer от Июнь 21, 2014, 15:19



Название: Сравнение чисел из массива и переменной
Отправлено: Dealaxer от Июнь 21, 2014, 15:19
Народ помогите, подскажите!

В программе существует готовая переменная с.id, которая выдает числа от 0 до 1200, при каждом выполнении foreach.
Надо подправить программу под другие цели.

Необходимо сравнить все числа из списка массива, с переменной c.id, и если например число 200 из переменной равно числу 200 из массива, то вывести в результат 3 число из другого массива например число 22. Главное чтобы числа из 2 массива как бы были привязаны к 1 массиву, то есть 200 = 22, 300 = 33 и т.д..

Пробовал так:
Код:
QString gnum;
int Arr[]={200, 300, 400};
int Arr2[]={22, 33, 44};
for(int i=0;i<3;++i)
{
      if(Arr[i] == QString().number(c.id))
      gnum = Arr2[i];
      else
      gnum = QString().number(c.id);
}

Но код не пашет.
Помогите пожалуйста, с данной проблемой.

За ранее, благодарю.


Название: Re: Сравнение чисел из массива и переменной
Отправлено: kambala от Июнь 21, 2014, 16:12
проблема в незнании языка и библиотеки

Код
C++ (Qt)
for (int i=0;i<3;++i)
{
   if (Arr[i] == c.id)
   {
       gnum = QString:number(Arr2[i]);
       break;
   }
}
if (gnum.isEmpty())
   gnum = QString:number(c.id);


Название: Re: Сравнение чисел из массива и переменной
Отправлено: vbv от Июнь 21, 2014, 17:00
Я бы написал так.
Вот только интересно, как получится быстрее.....

gnum = QString:number(c.id);
for (int i=0;i<3;++i)
{
    if (Arr == c.id)
    {
        gnum = QString:number(Arr2);
        break;
    }
}


Название: Re: Сравнение чисел из массива и переменной
Отправлено: Dealaxer от Июнь 21, 2014, 17:56
проблема в незнании языка и библиотеки

Код
C++ (Qt)
for (int i=0;i<3;++i)
{
   if (Arr[i] == c.id)
   {
       gnum = QString:number(Arr2[i]);
       break;
   }
}
if (gnum.isEmpty())
   gnum = QString:number(c.id);
Благодарю, но так не заработало. Заработало только если внести небольшое изменение:
Код
C++ (Qt)
QString().number(c.id);
 
за место двоеточий, ставить скобки.
Я бы написал так.
Вот только интересно, как получится быстрее.....

gnum = QString:number(c.id);
for (int i=0;i<3;++i)
{
    if (Arr == c.id)
    {
        gnum = QString:number(Arr2);
        break;
    }
}

Также благодарю.


Название: Re: Сравнение чисел из массива и переменной
Отправлено: kambala от Июнь 21, 2014, 18:46
ой, я случайно одно двоеточие поставил вместо двух. прямое подтверждение моих слов про незнание.