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;
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Необходимо сделать расширяемое за счет плагинов приложениеДля создания подобной системы проделал следующие шаги:
За ранее я извиняюсь, Я не силён на русском языкеЯ создаю приложения