Nepotřebuju na nic odpovědět jen si dávám poznámky na tématické fórum kontrolou nepovažované za komunikaci (podvod) Nechte to tu do soboty prosím. Díky
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <iostream>
//#include <math.h>
void extremy(const QMat &A, double &min, double &max)
{
int m = A.rows();
int n = A.cols();
min = max = A(1,1);
for(int i=1; i<=m; i++)
{
for(int j=1; j<=m; j++)
{
if(A(i,j)<min)
{
min = A(i,j);
}
if(A(i,j)>max)
{
max = A(i,j);
}
}
}
}
QVec diag(const QMat &A)
{
int m = A.rows();
int n = A.cols();
QVec d(m);
for(int i = 1;i<=m;i++)
{
d(i) = A (i, i);
}
return d;
}
void vymena(const QMat &A, QMat &B, int k, int l)
{
//dimenze:
int m = A.rows();
int n = A.cols();
B.reset(m,n);
B=A;
QVec tmp (n);
if(k<l && l<=m)
{
for(int i = 1; i<=n; i++)
{
tmp(i) = B(l,i);
B(l,i) = B(k,i);
B(k,i) = tmp(i);
}
}
else
{
std::cerr << "Mimo dimenze";
}
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->plaintext1->insertPlainText(
"4 4 "
"1 5 8 9 "
"2 6 9 7 "
"3 2 1 4 "
"8 9 7 7"
);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_Button_clicked()
{
QString astr = ui->plaintext1->toPlainText();
QMatVecStream vstup(astr);
QMatVecStream vystup;
QMat A;
QVec v;
QMat B;
double min;
double max;
vstup >> A;
extremy(A, min,max);
//k=1 l=3
vymena(A,B,1,3);
v=diag(A);
v = diag(A);
// vystup << A << v << B;
vystup << "Min" << min << "Max" << max;
ui->plaintext2->insertPlainText(vystup.str());