#include<iostream>
#include<stdlib.h>
#include<conio.h>
#include<fstream>
using namespace std;
void leer(int **matriz,int **dat, int ver){
ifstream archivo; //variable del txt
archivo.open("recorrido.txt",ios::in); //Abrimos el archivo
if(archivo.fail()){ //Si a ocurrido algun error
cout<<"No se pudo abrir el archivo";
exit(1);
for(int i=0; i<ver;i++){
for(int j=0; j<ver; j++){
archivo>> matriz[i][j];
for(int i=0; i<ver;i++){
for(int j=0; j<ver; j++){
archivo>> dat[i][j];
archivo.close(); //Cerramos el archivo
void potencia(int **matriz,int **dat, int ver){
char B[]={'a','b','c','d','e'};
int A[5][5];
for(int i=0; i<ver;i++){
for(int j=0; j<ver; j++){
A[i][j]=matriz[i][j];
int a=0;
while(a!=3){
for(int i=0; i<ver;i++){
cout<<" "<<B[i]<<"\t";
cout<<endl;
cout<<endl;
for(int i=0; i<ver;i++){
cout<<B[i]<<" ";
for(int j=0; j<ver; j++){
int valor=0;
for(int k=0; k<ver; k++){
valor+=(A[k][i]*matriz[j][k]);
dat[i][j]=valor;
cout<<valor<<"\t";
cout<<endl;
a++;
cout<<"\n\n";
for(int i=0; i<ver;i++){
for(int j=0; j<ver; j++){
A[i][j]=dat[i][j];
int main(){
int **matriz;
int **dat;
int ver=5;
matriz = new int*[ver]; //Reservando memoria para las filas
for(int i=0;i<ver;i++){
matriz[i] = new int[ver]; //Reservando memoria para las columnas
dat = new int*[ver]; //Reservando memoria para las filas
for(int i=0;i<ver;i++){
dat[i] = new int[ver]; //Reservando memoria para las columnas
leer(matriz,dat,ver);
potencia(matriz,dat,ver);
//Liberacion de Memoria1
for(int i=0;i<ver;i++){
delete [] matriz[i];
delete [] matriz;
//Liberacion de Memoria2
for(int i=0;i<ver;i++){
delete [] dat[i];
delete [] dat;
getch();
return 0;