Я читаю матрицы из ввода с ifstream
.Затем я беру элемент [0][0]
th этих матриц и помещаю его в vector
и сортирую (по убыванию).
Мой вопрос заключается в том, что при сортировке элементов я теряю номер матрицы этих элементов.Мне это надо;Я должен дать вывод, чтобы показать, что матрица c th является суммой матриц a th и b th .
ПослеЯ сортирую их, я не могу найти, какая матрица какая.
for(int r=0;r<(matrixColumn*matrixRow);r++) {
for(int x=0;x<matrixColumn;x++) {
for(int y=0;y<matrixRow;y++) {
for(int u=0;u<matrixNumber;u++) {
temp.push_back(totalmat[u][x][y]);
}
for(int v = 1; v < temp.size(); v++){
key = temp[v];
for(w = v - 1; (w >= 0) && (temp[w] < key); w--) {
temp[w+1] = temp[w];
}
temp[w+1] = key;
}
Здесь я беру элементы, помещаю их в вектор и сортирую их в порядке убывания.
bool IfkIsTwo(vector<int> temp, int &q,int &f,int &z)
{
int a=temp.size()-1;
int b=temp.size()-2;
for(int c=0;c<temp.size()-2;c++) {
for(int d=1;d<temp.size()-2;d++) {
while(b!=c) {
if(temp[a]+temp[b]==temp[c])
return true;
else
b--;
}
a=temp.size()-d-1;
b=temp.size()-d-2;
}
}
return false;
}
Этомоя функция, которая складывает элементы.Он смотрит, есть ли какой-либо элемент, который является суммой двух элементов.Мне нужно знать, какова сумма двух двух элементов по первому неправильному порядку элементов.
Например:
Если начальный порядок имеет вид:
3 2 5 7 1 4
И я сортирую такие как:
7 5 4 3 2 1
И нахожу, что сумма 2 и 5 дает 7, это должно дать мне The matrix 3 is sum of the matrices 1 and 2
(начинается с 0)
Спасибо.