[C++] Invertir matriz verticalmente

Iniciado por PiroskY, 17 Octubre 2010, 01:54 AM

0 Miembros y 1 Visitante están viendo este tema.

PiroskY

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main()
{
   int mat[4][4],x,i,aux;

   //cargo matriz
   for (x=0;x<4;x++)
       cout << "Fila numero " << x+1 << endl;
       for (i=0;i<4;i++)
           cin >> mat[x][i];

   //invierto verticalmente
   for (x=0;x<2;x++)
       for (i=0;i<4;i++)
       {
           aux = mat[x][i];
           mat[x][i] = mat[3-x][i];
           mat[3-x][i] = aux;
       }

   //muestro matriz
   for (x=0;x<4;x++)
       cout << endl;
       for (i=0;i<4;i++)
           cout << mat[x][i] << " ";
return 0;
}


si la matriz es:

1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7

me la deja como

7 6 5 4
6 5 4 3
5 4 3 2
4 3 2 1

Cuando deberia ser:

4 5 6 7
3 4 5 6
2 3 4 5
1 2 3 4

O sea, que me la invirte vertical y horizontalmente, pero no entiendo por que
Ademas de que no hace caso al endl, donde muestro la matriz
Alguien me dice en que me equivoco?


EDITO:

Reinicie pc y funciona perfectamente
No se que pasaba