Russian Qt Forum

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



Название: Работа со строками
Отправлено: Anis от Май 09, 2011, 11:21
Здраствуйте, не могли бы вы помочь с программкой, я в этом деле еще новичок, выдает кучу ошибок, вот текст (нужно посчитать среднее из чисел которые находятся в массиве строк и вывести в новый массив строк):

#include "strn.h"
#include "ui_strn.h"
#include <stdio.h>
#include <string.h>

strn::strn(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::strn)
{
    ui->setupUi(this);
}

strn::~strn()
{
    delete ui;
}
char s[30];
void strn::on_pushButton_clicked()
{ int n;                                               /ввод строки в TableWidget/
    n=ui->lineEdit->text().toInt();         
    ui->tableWidget->setRowCount(n);

}


void strn::on_pushButton_2_clicked()
{
    float x,p; int i,j,n; char r[30];
     for (j=1;j<=n;j++)
    {
         x=0;
    while (i<=strlen(s[j]))
         {
        if (s[j]>="0" && s[j]<="5")
            p=atof(s[j]);
            i=i+1;
            x=x+p;
    }
    x=x/5;
    sprintf (r[j],"%f",x);
    r[j]=strncpy(r[j],s[j],strchr(s[j]," "));
    r[j]=ui->tableWidget_2->item(j);
     }
}


Название: Re: Работа со строками
Отправлено: NortT от Май 09, 2011, 11:52
Используй QVector вместо массивов, QString вместо char'ов.
Код:
for (j=1;j<=n;j++)
наследие паскаля чтоли? Нумерация в с идет с нуля. И я так и не понял что нужно во второй массив вывести.


Название: Re: Работа со строками
Отправлено: Anis от Май 09, 2011, 12:26
а как записать в QVector QString?


Название: Re: Работа со строками
Отправлено: NortT от Май 09, 2011, 12:36
В доке ж по Qt написано:
Цитировать
void QVector::append ( const T & value )
Inserts value at the end of the vector.
Код
C++ (Qt)
Example:
QVector<QString> vector(0);
vector.append("one");
vector.append("two");
vector.append("three");


Название: Re: Работа со строками
Отправлено: Anis от Май 09, 2011, 12:56
а в каокм разделе не подскажете, что-то не могу найти


Название: Re: Работа со строками
Отправлено: NortT от Май 09, 2011, 13:08
Ну в справке в поиске написать QVector. Или онлайн  документация (http://doc.qt.nokia.com/latest/qvector.html).