QTableWidgetУсловие: Создать квадратную матрицу. Матрица должна содержать слова из 4х букв английского алфавита. Из каждого слова удалить все гласные буквы. На основе измененной матрицы сформировать массив, состоящий из размеров строк матрицы, который необходимо упорядочить по убыванию.
Не могу понять каким образом реализовать удаление гласных букв в QtableWidget (желательно по кнопке), буду благодарен за любые наводки!
#include "mainwindow.h"
#include "ui_mainwindow.h"
int elements;
QString alphavit = "abcdefghijklmnopqrstuvwxyz";
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_start_clicked()
{
QString line;
elements = ui->lineEdit->text().toInt();
if (elements >= 2 && elements <= 5) {
ui->tableWidget->setRowCount(elements);
ui->tableWidget->setColumnCount(elements);
for (int i = 0; i < elements; i++)
{
for (int j = 0; j < elements; j++)
{
ui->tableWidget->setItem(i, j, new QTableWidgetItem(""));
}
}
}
else {
ui->tableWidget->setRowCount(0);
ui->tableWidget->setColumnCount(0);
ui->label->setText("Размер матрицы должен быть от 2 до 5");
}
}
void MainWindow::on_pushButton_random_clicked()
{
QString end = "";
int r;
QString simv;
for (int i=0; i < elements; i++)
{
for (int j=0; j < elements; j++)
{
for (int k = 0; k < 4; k++) {
r = rand() % 26;
simv = alphavit.at(r);
end = end + simv;
}
QTableWidgetItem* item = new QTableWidgetItem (end, 10);
ui->tableWidget->setItem(i,j,item);
end.clear();
}
}
}
void MainWindow::on_tableWidget_cellChanged(int row, int column)
{
QString s = ui->tableWidget->item(row, column)->text();
if (s.isEmpty()) return;
if (!alphavit.contains(s.at(0))) {
ui->label->clear();
ui->label->setText("Вводите только английские слова");
QTableWidgetItem* item = new QTableWidgetItem ("", 10);
ui->tableWidget->setItem(row,column,item);
return;
}
if (!(s.length() == 4)) {
ui->label->clear();
ui->label->setText("Вводите только 4-х буквенные английские слова");
QTableWidgetItem* item = new QTableWidgetItem ("", 10);
ui->tableWidget->setItem(row,column,item);
return;
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости