我是C ++的新手,我必须制作一个执行以下操作的小程序:
我已经做到了,它不起作用,我真的不知道为什么;如果条件满足,我想得到这个位置但是我总是得到不满意的条件,即使我检查它在数学上是满意的:
#include <iostream>
using namespace std;
const int N=5;
void leerMatriz(int dim, int matriz[N][N]);
void posicionUltimoDato(int dim, int matriz[N][N]);
int main(){
int dim, matriz[N][N];
cout<<"Dame la dim de la matriz"<<endl;
cin>>dim;
leerMatriz(dim,matriz);
posicionUltimoDato(dim, matriz);
}
void leerMatriz(int dim, int matriz[N][N]){
int i,j;
for(i=0;i<dim;i++){
for(j=0;j<dim;j++){
cout<<"Dame el valor de la posicion y= "<<i<<", x="<<j<<" ."<<endl;
cin>>matriz[i][j];
}
}
}
void posicionUltimoDato(int dim, int matriz[N][N]){
bool trobat=false;
int i=0,j=0,posi,posj;
while(i<dim && trobat==false){
while(j<dim && trobat==false){
if(matriz[i][j]==matriz[dim-1][dim-1]){
trobat=true;
posi=i;
posj=j;
}
j++;
}
i++;
}
if(trobat){
cout<<"La posicion es: "<<posi<<", "<<posj<<" .";
}else{
cout<<"No hay ultimo elemento repetido";
}
}