我没有找到元素在矩阵中的位置,程序没有错误,没有警告,我正在使用Code :: Blocks和Dev C ++。从理论上讲,它应该工作,但不是。而且问题不在min1上,它很好用。代码如下:
#include <iostream>
using namespace std;
void matrice(int n) {
cout << "Input the number of the elements " << endl;
cin >> n;
int D[n][n];
cout << "Input the elements :" << endl;
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cin >> D[i][j];
}
}
int pozi = 0, pozj = 0;
int min1;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (min1 > D[i][j]) {
min1 = D[i][j];
pozi = i;
pozj = j;
}
}
}
cout << " The smallest element is : " << min1 << " and it is the [" << pozi << "][" << pozj << "] element in order." << endl;
}
int main() {
int i, min1, j, n;
int n1;
cout << "Decide: " << endl;
cout << "Matrice[1]" << "\t" << "Vector[2]" << endl;
cin >> n1;
if (n1 == 1) {
matrice(n);
} else if (n1 == 2) {}
}
事物的夫妇。
cin>>n;
int D[n][n];
不允许使用可变长度数组。
而且,您第一次使用min1
时还没有初始化。您需要给它一个初始值,否则从它读取的是UB。一个好的初始化值是
int min1 = std::numeric_limits<int>::max();