C ++矩阵程序无法正常工作

时间:2015-12-06 11:31:34

标签: c++

我是C ++的新手,我必须制作一个执行以下操作的小程序:

  • 阅读矩阵。
  • 写下posición,其中一个数字等于最后一个,首先出现。

我已经做到了,它不起作用,我真的不知道为什么;如果条件满足,我想得到这个位置但是我总是得到不满意的条件,即使我检查它在数学上是满意的:

#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";
    }
}

0 个答案:

没有答案