Created
October 26, 2014 20:18
-
-
Save pizenblues/a58a84e4cb6741178fd6 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
#include<iostream.h> | |
#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'); | |
}; | |
} | |
int main(){ | |
char opc; | |
int tamano, multiple; | |
int fila = 1, columna = 1; | |
int menu; | |
int contador = 0; | |
printf("\n\t cantidad de vertices "); | |
read_input(tamano); | |
int matriz[tamano][tamano]; | |
for(int i =0; i<tamano; i++) | |
for(int j = i; j<tamano; j++){ | |
fila = fila + i; | |
columna = columna + j; | |
printf("\n el vertice %i es adyacente al vertice %i (s/n): ", fila, columna); | |
cin>>opc; | |
if(opc=='s'){ | |
cout<<" es multiple? (s/n): "; | |
cin>>opc; | |
if(opc=='s') | |
{ | |
cout<<"cuantas veces es final?: "; | |
read_input(multiple); | |
matriz[i][j]=multiple; | |
cout<<"cuantas veces es inicial?: "; | |
read_input(multiple); | |
matriz[j][i]=multiple; | |
} | |
else | |
{ | |
cout<<"es final?: (s/n): "; | |
cin>>opc; | |
if(opc=='s') | |
{ | |
matriz[i][j]=0; | |
matriz[j][i]=1; | |
} | |
else | |
{ | |
matriz[i][j]=1; | |
matriz[j][i]=0; | |
} | |
} | |
}else{ | |
matriz[i][j] = 0; | |
matriz[j][i] = 0; | |
} | |
fila = 1; | |
columna = 1; | |
} | |
system("cls"); | |
cout<<endl<<endl; | |
for(int i=0; i<tamano; i++){ | |
for(int j=0; j<tamano; j++){ | |
cout<<"\t"<<matriz[i][j]; | |
} | |
cout<<endl; | |
} | |
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"); | |
cout<<endl<<endl; | |
for(int i=0; i<tamano; i++){ | |
for(int j=0; j<tamano; j++){ | |
cout<<"\t"<<matriz[i][j]; | |
} | |
cout<<endl; | |
} | |
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< tamano; i++){ | |
for(int j=0; j< tamano; 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 > tamano || c > tamano){ | |
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<tamano; i++){ | |
for(int j=0; j<tamano; 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 <= tamano){ | |
filaS -= 1; | |
for (int i = 0; i < tamano; 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 <= tamano){ | |
columnasS -=1; | |
for (int j = 0; j < tamano; 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:{ | |
int check = 0; | |
printf("\t La Diagonal Principal es: \n"); | |
for(int i = 0; i < tamano; i++){ | |
cout<< " " <<matriz[i][i]; | |
check = check + matriz[i][i]; | |
} | |
printf(" \n "); | |
if(check != 0){ | |
printf("hay bucles"); | |
}else{ | |
printf("no hay bucles"); | |
} | |
printf(" \n "); | |
break; | |
} | |
case 7: | |
for (int i = 0; i < tamano; i++) { | |
for (int j = 0; j < tamano; j++) { | |
if (matriz[i][j] != matriz[j][i]) { | |
break; | |
}else{ | |
contador = contador + 1; | |
} | |
} | |
} | |
if(contador == tamano * tamano){ | |
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 <= tamano && segundaF <= tamano){ | |
primeraF -=1; | |
segundaF -=1; | |
for( int i = 0; i< tamano; 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 <= tamano && segundaC <= tamano){ | |
primeraC -=1; | |
segundaC -=1; | |
for( int j = 0; j< tamano; 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(); | |
} | |
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
#include<iostream.h> | |
#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'); | |
}; | |
} | |
int main(){ | |
char opc; | |
int tamano, multiple; | |
int fila = 1, columna = 1; | |
int menu; | |
int contador = 0; | |
printf("\n\t cantidad de vertices "); | |
read_input(tamano); | |
int matriz[tamano][tamano]; | |
for(int i =0; i<tamano; i++) | |
for(int j = i; j<tamano; j++){ | |
fila = fila + i; | |
columna = columna + j; | |
printf("\n el vertice %i es adyacente al vertice %i (s/n): ", fila, columna); | |
cin>>opc; | |
if(opc == 's'){ | |
printf(" \n\t es multiple? (s/n): "); | |
cin>>opc; | |
if(opc == 's'){ | |
cout<<"\n\t cuantas veces?: "; | |
read_input(multiple); | |
matriz[i][j] = multiple; | |
matriz[j][i] = multiple; | |
}else{ | |
matriz[i][j] = 1; | |
matriz[j][i] = 1; | |
} | |
}else{ | |
matriz[i][j] = 0; | |
matriz[j][i] = 0; | |
} | |
fila = 1; | |
columna = 1; | |
} | |
system("cls"); | |
cout<<endl<<endl; | |
for(int i=0; i<tamano; i++){ | |
for(int j=0; j<tamano; j++){ | |
cout<<"\t"<<matriz[i][j]; | |
} | |
cout<<endl; | |
} | |
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"); | |
cout<<endl<<endl; | |
for(int i=0; i<tamano; i++){ | |
for(int j=0; j<tamano; j++){ | |
cout<<"\t"<<matriz[i][j]; | |
} | |
cout<<endl; | |
} | |
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< tamano; i++){ | |
for(int j=0; j< tamano; 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 > tamano || c > tamano){ | |
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<tamano; i++){ | |
for(int j=0; j<tamano; 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 <= tamano){ | |
filaS -= 1; | |
for (int i = 0; i < tamano; 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 <= tamano){ | |
columnasS -=1; | |
for (int j = 0; j < tamano; 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:{ | |
int check = 0; | |
printf("\t La Diagonal Principal es: \n"); | |
for(int i = 0; i < tamano; i++){ | |
cout<< " " <<matriz[i][i]; | |
check = check + matriz[i][i]; | |
} | |
printf(" \n "); | |
if(check != 0){ | |
printf("hay bucles"); | |
}else{ | |
printf("no hay bucles"); | |
} | |
printf(" \n "); | |
break; | |
} | |
case 7: | |
for (int i = 0; i < tamano; i++) { | |
for (int j = 0; j < tamano; j++) { | |
if (matriz[i][j] != matriz[j][i]) { | |
break; | |
}else{ | |
contador = contador + 1; | |
} | |
} | |
} | |
if(contador == tamano * tamano){ | |
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 <= tamano && segundaF <= tamano){ | |
primeraF -=1; | |
segundaF -=1; | |
for( int i = 0; i< tamano; 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 <= tamano && segundaC <= tamano){ | |
primeraC -=1; | |
segundaC -=1; | |
for( int j = 0; j< tamano; 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