Created
October 12, 2014 15:43
-
-
Save pizenblues/8529ff3c828d8e0720c4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//valentina azocar ci 24753255 | |
#include <iostream> | |
#include <stdio.h> | |
using namespace std; | |
template <class T> | |
void read_input(T &var){ | |
while(! (cin>>var) ){ | |
printf(" \t \t ingrese un numero: "); | |
cin.clear(); | |
cin.ignore(256, '\n'); | |
}; | |
} | |
main(){ | |
int fil, menu, col; | |
int fila = 1, columna = 1, contador = 0, opc = 0; | |
printf("tamano de la matriz \n"); | |
printf("\t filas "); | |
read_input(fil); | |
printf("\t columnas "); | |
read_input(col); | |
int matriz[fil][col]; | |
for(int i=0; i<fil; i++) | |
for(int j=0; j<col; j++){ | |
fila=i+1; | |
columna=j+1; | |
printf("\n que desea agregar en el punto %i X %i ?: ", fila, columna); | |
read_input(opc); | |
matriz[i][j]=opc; | |
} | |
system("cls"); | |
printf("\n"); | |
for(int i=0; i<fil; i++){ | |
for(int j=0; j<col; j++){ | |
cout<<" "<<matriz[i][j]; | |
} | |
printf("\n"); | |
} | |
do{ | |
int sumac = 0; | |
printf("\n \t \t Menu \n \n 1-.buscar \n 2-.modificar \n 3-.ordenar \n 4-.sumar fila \n 5-.sumar columna \n 6-.diagonal principal \n 7-.chequear simetria \n 8-.comparar filas \n 9-.comparar columnas \n 10-.salir \n \n "); | |
read_input(menu); | |
system("cls"); | |
printf("\n"); | |
for(int i=0; i<fil; i++){ | |
for(int j=0; j<col; j++){ | |
cout<<" "<<matriz[i][j]; | |
} | |
printf("\n"); | |
} | |
switch(menu){ | |
case 1:{ | |
int google = 0, f = 0, c = 0; | |
printf(" se mostrara un mensaje si hay coincidencia \n"); | |
printf("ingrese el numero a buscar: "); | |
read_input(google); | |
for(int i=0; i< fil; i++){ | |
for(int j=0; j< col; j++){ | |
f = i + 1; | |
c = j + 1; | |
if(google == matriz[i][j]) { | |
printf("\n Encontrado: fila %i columna %i ",f,c); | |
} | |
} | |
} | |
break; | |
} | |
case 2: { | |
int f, c, nuevo; | |
printf("fila: "); | |
read_input(f); | |
printf("columna: "); | |
read_input(c); | |
if(f > fil || c > col){ | |
printf("alguno de los datos es incorrecto \n"); | |
break; | |
}else{ | |
f--; | |
c--; | |
printf("nuevo valor: "); | |
read_input(nuevo); | |
matriz[f][c] = nuevo; | |
printf("modificacion exitosa \n"); | |
} | |
printf("\n"); | |
for(int i=0; i<fil; i++){ | |
for(int j=0; j<col; j++){ | |
cout<<" "<<matriz[i][j]; | |
} | |
printf("\n"); | |
} | |
} | |
break; | |
case 3: | |
printf("\t 404 \n"); | |
break; | |
case 4:{ | |
int filaS =0, sumaf = 0; | |
printf("\t que fila desea sumar? - "); | |
read_input(filaS); | |
if(filaS <= fil){ | |
filaS -= 1; | |
for (int i = 0; i < col; i++) | |
sumaf += matriz[filaS][i]; | |
cout<< "\t la suma es: "<<sumaf<<" \n "<<endl; | |
}else{ | |
printf("\t \t fila no encontrada \n"); | |
} | |
sumaf = 0; | |
filaS = 0; | |
break; | |
} | |
case 5: { | |
int columnasS, sumac = 0; | |
printf("\t que columna desea sumar? - "); | |
read_input(columnasS); | |
if(columnasS <= col){ | |
columnasS -=1; | |
for (int j = 0; j < fil; j++) | |
sumac += matriz[j][columnasS]; | |
cout<< "\t la suma es: "<<sumac<<" \n "<<endl; | |
}else{ | |
printf("\t \t columna no encontrada \n"); | |
} | |
sumac = 0; | |
columnasS = 0; | |
break; | |
} | |
case 6: | |
if(fil != col){ | |
printf(" la matriz no es cuadrada, por tanto, no hay diagonal principar \n"); | |
}else{ | |
printf("\t La Diagonal Principal es: \n"); | |
for(int i = 0; i < fil; i++){ | |
cout<< " " <<matriz[i][i]; | |
} | |
} | |
printf(" \n "); | |
break; | |
case 7: | |
if (fil != col){ | |
printf("como la matriz no es cuadrada, no es simetrica \n"); | |
}else{ | |
for (int i = 0; i < fil; i++) { | |
for (int j = 0; j < col; j++) { | |
if (matriz[i][j] != matriz[j][i]) { | |
break; | |
}else{ | |
contador = contador + 1; | |
} | |
} | |
} | |
if(contador == fil * fil){ | |
printf(" \t son simetricas \n"); | |
}else{ | |
printf(" \t no son simetricas \n"); | |
} | |
} | |
break; | |
case 8:{ | |
int primeraF, segundaF; | |
printf(" \t primera fila: "); | |
read_input(primeraF); | |
printf(" \t segunda fila: "); | |
read_input(segundaF); | |
if( primeraF <= fil && segundaF <= fil){ | |
primeraF -=1; | |
segundaF -=1; | |
for( int i = 0; i< fil; i++){ | |
if( matriz[primeraF][i] == matriz[segundaF][i] ){ | |
printf("\t iguales \n"); | |
}else{ | |
printf("\t no iguales \n"); | |
break; | |
} | |
} | |
}else{ | |
printf(" \t fila no encontrada \n"); | |
} | |
primeraF = 0; | |
segundaF = 0; | |
break; | |
} | |
case 9:{ | |
int primeraC, segundaC; | |
printf(" \t primera columna \n"); | |
read_input(primeraC); | |
printf(" \t segunda columna \n"); | |
read_input(segundaC); | |
if( primeraC <= col && segundaC <= col){ | |
primeraC -=1; | |
segundaC -=1; | |
for( int j = 0; j< col; j++){ | |
if( matriz[j][primeraC] == matriz[j][segundaC] ){ | |
printf("\t iguales \n"); | |
}else{ | |
printf("\t no iguales \n"); | |
break; | |
} | |
} | |
}else{ | |
printf(" \t COLUMNA no encontrada \n"); | |
} | |
primeraC = 0; | |
segundaC = 0; | |
break; | |
} | |
case 10: | |
return 0; | |
break; | |
default: | |
printf("\t escoja una opcion valida \n"); | |
} | |
}while(true); | |
//getch(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment