Hola amig@s esta vez les enseñare como mostrar la sumatoria de la diagonal en una matriz NxN.
Captura:
#include#include #include int MCM(int x,int z); int main(void){ int a, b,respuesta; printf("\nMINIMO COMUN MULTIPLO...mcm(A,B)=\n\n"); printf("\nA: "); scanf("%d",&a); printf("\nB: "); scanf("%d",&b); if (anull"); return 0; } int MCM(int x,int z){ int y=1, i=2; do{ if (x%i==0){ if(z%i==0){ y=y*i; x=x/i; z=z/i; i=2; } else i++; } else i++; } while(i<=x); return y=y*z*x; }
#include#include #include int mcd(int a,int b); int main(void){ int A,B,respuesta; printf("\nMAXIMO COMUN DIVISOR...mcd(A,B)=\n\n"); printf("A= ");scanf("%i",&A); printf("\nB= ");scanf("%i",&B); if(B>A) respuesta=mcd(B,A); else respuesta=mcd(A,B); printf("\n\nmcd(%i,%i)=%i\n",A,B,respuesta); system("pause>null"); return 0; } int mcd( int a, int b){ int r; r=a-b*(a/b); if(r!=0){ while(r!=0){ a=r; r=b-r*(b/r); } return(a); } return(b); }
#include#include int main(int argc, char *argv[]) { int a, b,i,mult=1; printf("\nIngrese el primer numero: "); scanf("%d",&a); printf("\nIngrese el segundo numero: "); scanf("%d",&b); for(i=1;i<=b;i++){ mult*=a; } printf("\nEl resultado de %d ^ %d es: %d\n\n",a,b,mult); system("PAUSE"); return 0; }
#include#include int main(int argc, char *argv[]) { int a, b,i,suma=0; printf("\nIngrese el primer numero: "); scanf("%d",&a); printf("\nIngrese el segundo numero: "); scanf("%d",&b); for(i=1;i<=b;i++){ suma+=a; } printf("\nEl resultado de multiplicar %d x %d es: %d\n\n",a,b,suma); system("PAUSE"); return 0; }
#include#include int main(int argc, char *argv[]) { int a,b; printf("\nIngrese el primer numero: "); scanf("%d",&a); printf("\nIngrese el segundo numero numero: "); scanf("%d",&b); /*funcion simplificada de if y else siempre y cuando solo sea condiciones de 1 linea utilizando operador (a>b)? si es verdadero (if) : si no es verdadero (else)*/ (a>b)?printf("\nEl numero mayor es: %d\n\n",a):printf("\nEl numero mayor es: %d\n\n",b); system("PAUSE"); return 0; }
/*Version 1.0.1*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<time.h>
#include<windows.h>
#include<math.h>
#include<ctype.h>
//Prototipo de funciones
void menu();
void carga();
void animales();
void paises();
void dificiles();
void juego(char palabra[50][20], int n);
void rotulo(int e);
void pieder();
void pieizq();
void made();
void maiz();
void base();
void cuerpo();
void cabeza();
void gotoxy(short x, short y);
//Funcion principal se encarga de llamar a la funciones carga y menu
int main(){
carga();//llamada de la funcion "carga"
menu();//llamada de la funcion "menu"
system("pause");
return 0;
}// Termina la funcion principal
void carga(){//funcion encargada de de mostrar la barra de carga del programa
int c, m=6;
system("cls");
system("color 48");
gotoxy (30,5);printf("Cargando......");
Sleep(200);
for(c=15;c<=75; c++){
m++;
gotoxy (m,10); printf("%c",219);
gotoxy(6,15);printf("\n\n\n\n\n\tAHORCADO V 1.0.0 ");
Sleep(100);
}
printf("\a");system("cls");
}
void menu(){
char op;
do{//imprime el menu principal varias veces hasta que sea necesareo
system("cls");
gotoxy (30,1); printf ("JUEGO DEL AHORCADO");
gotoxy (30,4); printf("Seleccione Categoria");fflush(stdin);
gotoxy (30,6); printf("1.Animales");
gotoxy (30,8); printf("2.Paises");
gotoxy (30,10); printf("3.Dificiles");
gotoxy (30,12); printf("4.Salir");
gotoxy (30,14); printf("Ingrese opcion: ");
scanf("%c",&op);
}while(op<'1'||op>'4');//evalua los datos ingresados por el usuario
switch(op){//seleeciona el caso ingresado por el usuario
case '1': animales();break;// llamado a la funcion animales
case '2': paises();break;// llamado a la funcion paises
case '3': dificiles();break;// llamado a la funcion dificiles
case '4':printf("\n\nGracias por utilizar nuestro programa.....\n\n");break;
}
}
void animales(){
char palabra[50][20]={"murcielago","tiburon","perro","chancho","gato","cerdo","gallina","elefante","vaca","serpiente","mono","rata"};
//asignacion de palabras a una lista
int n=0, i;
char op;
fflush(stdin);
do{// muestra el menu si no se cumple la condicion
fflush(stdin);
system("cls");
gotoxy (30,1); printf("CATEGORIA NOMBRE DE ANIMALES");
gotoxy (30,4); printf("1.Ingresar nueva palabra");
gotoxy (30,6); printf("2.Jugar con lista existente");
gotoxy (30,8); printf("3.Retornar al menu principal");
gotoxy (30,10); printf(" Ingrese opcion: ");
scanf("%c",&op);
}while(op<'1'||op>'3');//evaluacion de las datos ingresados por el usuario
switch(op){
case'1':// añade mas palabras a la lista
do{
system("cls");
printf("\n Digite cantidad de palabras: ");
scanf("%d",&n);//captura el numero de palabras
}while(n<0);
for(i=3;i<=n+2;i++)
{fflush(stdin);
system("cls");
printf("\n Ingrese palabra: ");
gets(palabra[i]);//captura la palabra y la almacena en la pocision i de la lista
}
juego(palabra,n);break;//llamado a la funcion juego y la manda la lista modificada
case'2':juego(palabra,n);break;//llama al funcion juego y le manda la lista con las palabras asignadas
case'3':menu();break;// llama a la funcion menu
}
}
void paises(){
char palabra[50][20]={"afganistan","japon","alemania","cuba","venezuela","alemania","peru","paraguay","turquia","checoslovaquia","suriname","banladesh","africa"};
//asignacion de palabras a una lista
int n=0, i;
char op;
do{// muestra el menu si no se cumple la condicion
fflush(stdin);
system("cls");
gotoxy (30,1); printf("CATEGORIA NOMBRE DE PAISES ");
gotoxy (30,4); printf("1.Ingresar nueva palabra");
gotoxy (30,6); printf("2.Jugar con lista existente");
gotoxy (30,8); printf("3.Retornar al menu principal");
gotoxy (30,10); printf(" Ingrese opcion: ");
scanf("%c",&op);
}while(op<'1'||op>'3');//evalua los datos imgresados por el usuario
switch(op){
case'1':// añade mas palabras a la lista
do{system("cls");
printf("\n Digite cantidad de palabras: ");
scanf("%d",&n);//captura el numero de palabras
}while(n<0);
for(i=3;i<=n+2;i++){fflush(stdin);
system("cls");
printf("\n Ingrese palabra: ");
gets(palabra[i]);//captura la palabra y la almacena en la pocision i de la lista
}
juego(palabra,n);break;//llamado a la funcion juego y la manda la lista modificada
case'2':juego(palabra,n);break;//llama al funcion juego y le manda la lista con las palabras asignadas
case'3':menu();break;// llama a la funcion menu
}
}
void dificiles(){
char palabra[50][20]={"hidraulica","clorhidrato","electrostatica","miercoles","computadora","musica","nada","sandia","puta","mundo","ahorcado","teclado","palabra"};
//asignacion de palabras a una lista
int n=0, i;
char op;
do{ // muestra el menu si no se cumple la condicion
fflush(stdin);
system("cls");
gotoxy (30,1); printf("CATEGORIA PALABRAS DIFICILES");
gotoxy (30,4); printf("1.Ingresar nueva palabra");
gotoxy (30,6); printf("2.Jugar con lista existente");
gotoxy (30,8); printf("3.Retornar al menu principal");
gotoxy (30,10); printf(" Ingrese opcion: ");
scanf("%c",&op);
}while(op<'1'||op>'3');//evaluacion de las datos ingresados por el usuario
switch(op){
case'1'://añade mas palabras a la lista
do{system("cls");
printf("\n Digite cantidad de palabras: ");
scanf("%d",&n);//captura el numero de palabras
}while(n<0);
for(i=3;i<=n+2;i++) {fflush(stdin);
system("cls");
printf("\n Ingrese palabra: ");
gets(palabra[i]);//captura la palabra y la almacena en la pocision i de la lista
}
juego(palabra,n);break;//llamado a la funcion juego y la manda la lista modificada
case'2':juego(palabra,n);break;//llamado a la funcion juego y la manda la lista modificada
case'3':menu();break;// llama a la funcion menu
}
}
void juego(char palabra[50][20], int n){
int contador,longitud,i,j, e,error, m=13;
char palabras[30], respuesta[30], letra, res, res1;
do{system("cls");
gotoxy (30,1); printf ("JUEGO DEL AHORCADO");
base();//lama a la funcion base
rotulo(0);//llama ala funcion rotulo para ver el numero de oportunidades restantes
srand (time (NULL));
longitud=rand()%(m+n);//genera un numero aleatorio y lo almacena en la variable longitud
e=0;
contador=0;
strcpy(palabras,palabra[longitud]);//copia en la variable una variable de la lista
longitud=strlen(palabras);//se obtiene el tamaño de la palabra y se almacena en longitud
gotoxy(4,30);
for (i=0; i<longitud ; i++){fflush(stdin);
respuesta[i]='*';//se almacena * en un vector
printf (" %c ", respuesta[i]);// se imprime * en el lugar de las letras
}
do{
fflush (stdin);
gotoxy (4,32); printf ("Ingrese una letra: ");
scanf ("%c", &letra);//captura una letra
letra=tolower(letra);//convierte unna letra mayuscula en minuscula
gotoxy (21,32);printf(" ");
error=0;//se inicializa en 0
gotoxy(4,30);
for(j=0; j<longitud; j++) {
if (letra==palabras[j]){/*compara si la letra ingresada por el usuario corresponde a una posicion de la
palabra*/
if(letra!=respuesta[j]){
respuesta[j]=letra;// la susttituye por el *
contador++;//aumenta contador en uno
}
}
else{
error++;//aumenta error en uno
}
printf (" %c ", respuesta[j]);//imprime la letra correcta
}
if(error==longitud){//entra si la letra ingresada no corresponde a ninguna de la palabra a adivinar
e++;//segun la cantidad de letras erroneas aumenta en 1
}
rotulo(e);//llama ala funcien rotunlo y le envia e
switch (e){//segun nel numero de errores selecciona un caso
case 1:cabeza();break;//llama a la funcion que dibuja la cabeza
case 2:cuerpo();break;//llama a la funcion que dibuja el cuerpo
case 3:made();break;//llama a la funcion que dibuja la mano derecha
case 4:maiz();break;//llama a la funcion que dibuja la mano izquierda
case 5:pieizq();break;//llama a la funcion que dibuja la piena izquierda
case 6:pieder();break;//llama a la funcion que dibuja la piena derecha
}
}while(contador<longitud && e<6);
if(e==6){//entra si ninguna de las letras corresponden ala palabra o se cometieron 6 errores
gotoxy(4,32);printf ("Lo siento, Usted ha perdido. \n Presione una tecla para ver la respuesta correcta");
getch();gotoxy(4,30);
for(j=0; j<longitud; j++){
printf (" %c ", palabras[j]);//imprime la palabra
}
}
if(contador==longitud){//entra si todas las letras ingresadas corresponden a la palabra o se cometieron menos de 6 errores
if(e==0){//si no se cometio ningun error
gotoxy(4,32);printf ("Felicidades, Usted ha ganado sin cometer ningun error");
}
else{//si se cometirooon pocos errores
gotoxy(4,32);printf ("Felicidades, Usted ha ganado, con %d intentos fallidos", e);
}
}
fflush(stdin);
gotoxy(4,35);printf ("Precione S para continuar la misma categoria.... ");
scanf("%s",&res);fflush(stdin);
}while(res=='S' || res=='s');//si el caracter ingresado es S repite el juego
gotoxy(4,37);printf ("Precione N para cambiar de categoria.... ");
scanf("%s",&res1);
if(res1!='N' || res1!='n'){// si el caracter ingresado es N cambia de categoria
menu();
}
else{
printf("\n Gracias por usar nuestro programa......");
}
}
/*funcion que muestra el rotulo en donde menciona el numero
de oportunidades que quedan*/
void rotulo(int e){
int f=0;
f=6-e;
gotoxy (40,3); printf(" _____________________________");
gotoxy (40,4); printf("| |");
gotoxy (40,5); printf("| Usted tiene %d |",f);
gotoxy (40,6); printf("| Oportunidades |");
gotoxy (40,7); printf("|_____________________________|");
}
//Funcion que imprime la mano derecha
void made( void){
int j;
for(j=0;j<3;j++){
gotoxy(19-j,10+j);
printf("*");
}
}
//Funcion que imprime la mano izquierda
void maiz(void){
int i;
for(i=0;i<3;i++) {
gotoxy(23-i,12-i);
printf("*");
}
}
// funcion que imprime el cuerpo
void cuerpo(){
int i;
for(i=0;i<9;i++) {
gotoxy(20,9+i);
printf("*");
}
}
//funcion que imprime la horca
void base(){
int x,y;
system("mode 80");
for(x=2;x<=27;x++){
gotoxy(10,x);printf("*");
}
for(y=11;y<=20;y++){
gotoxy(y,2);printf("*");
}
for(y=5;y<=15;y++){
gotoxy(y,28);printf("*");
}
gotoxy(20,3);printf("*");
gotoxy(20,4);printf("*");
}
//Funcion que imprime la pierna izquierda
void pieizq(void){
int i;
for(i=0;i<3;i++) {
gotoxy(21+i,18+i);
printf("*");
}
}
//Funcion que imprime la pierna derecha
void pieder(void){
int i;
for(i=0;i<3;i++) {
gotoxy(19-i,18+i);
printf("*");
}
}
//Funcion que imprime la cabeza
void cabeza(){
int i,j;
for(i=0;i<5;i++){
gotoxy(18+i,4);
printf("*");
gotoxy(18+i,8);
printf("*");
} gotoxy(19,5);
////////////////////
for(j=0;j<3;j++){
gotoxy(18,5+j);
printf("*");
gotoxy(22,5+j);
printf("*");
}
}
// funcio goto x y
void gotoxy(short x, short y) {
HANDLE hConsoleOutput;
COORD Cursor_Pos = {x, y};
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput, Cursor_Pos);
}
puedes descargar el proyecto desde aquí.
#include#include #include #include int main(int argc, char *argv[]){ char codigo[20]; int i=0; printf("Contraseña: "); while(codigo[i]!=13){ //Capturamos carácter codigo[i]=getch(); //Si es un carácter válido y no se ha sobrepasado el límite de 20 caracteres se imprime un asterisco if(codigo[i]>32 && i<20) { putchar('*'); i++; } //Si se pulsa la tecla RETROCESO, se retrocede un carácter, se imprime un espacio para eliminar el asterisco y se vuelve a retroceder para que el siguiente asterisco se coloque a continuación del anterior. else if(codigo[i]==8 && i>0){ putchar(8); putchar(' '); putchar(8); i--; } } printf("\n\n"); system("PAUSE"); return 0; }
#include#include #include #include int menu(); void ocultar(); int aleatorio(); int ingresar(); int main() { int w=2; while(w!=0) { w=menu(); switch(w) { case 1:{ocultar();}break; } } } void gotoxy(int xpos, int ypos)//Funcion de Posicionamiento { COORD scrn; HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE); scrn.X = xpos; scrn.Y = ypos; SetConsoleCursorPosition(hOuput,scrn); } int menu() { int q,i; do{ system("cls"); system("color F1"); gotoxy(11,8); for(i=9;i<25;i++) { printf("%c",177); } gotoxy(11,13); for(i=9;i<25;i++) { printf("%c",177); } gotoxy(11,15); printf("ingrese un numero:"); gotoxy(10,10); printf("\t1.jugar\n\ \t0.salir\n"); gotoxy(11,16); scanf("%d",&q); fflush(stdin); }while(q<0&&q>2); return q; } void ocultar() { int i,j,aciertos=0,errores=0,x1,y1; char ran,z[10][10]; char oculta[10][10]={{219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219}, {219,219,219,219,219,219,219,219,219,219},}; for(i=0;i<10;i++) { for(j=0;j<10;j++) { z[i][j]=aleatorio(); } } do{ ran=rand()%(1-31)+1; }while(ran==7||ran==8||ran==9||ran==10||ran==13); while(aciertos<100) { system("cls"); system("color F1"); printf("\ndebe en contrar a:%c Y procure no encontrar el chacal:%c\n\n",ran,2); printf("\t 0 1 2 3 4 5 6 7 8 9\n\n"); for(i=0;i<10;i++) { printf("\t%d ",i); for(j=0;j<10;j++) { printf("%c ",oculta[i][j]); } printf("\n\n"); } x1=ingresar(); y1=ingresar(); for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(z[i][j]==z[x1][y1]) { oculta[i][j]=z[x1][y1]; aciertos++; } } printf("\n"); } if(oculta[x1][y1]==ran) { system("cls"); system("color F0"); printf("\n\n!!!!!!BIEN HECHO EN CONTRO A EL: %c !!!!!\n\n\n",ran); printf("\t 0 1 2 3 4 5 6 7 8 9\n\n"); for(i=0;i<10;i++) { printf("\t%d ",i); for(j=0;j<10;j++) { printf("%c ",z[i][j]); } printf("\n\n"); } aciertos=aciertos+100; } else { if(oculta[x1][y1]==2) { system("cls"); system("color 0F"); printf("\n!!!!PERDIO!!!\n"); printf("ENCONTRO EL CHACAL..... %c\n\n\n",2); printf("\t 0 1 2 3 4 5 6 7 8 9\n\n"); for(i=0;i<10;i++) { printf("\t%d ",i); for(j=0;j<10;j++) { printf("%c ",z[i][j]); } printf("\n\n"); } aciertos=aciertos+100; } } } system("pause"); } int ingresar() { int q=10; do{ printf("ingrese la coordenada: "); scanf("%d",&q); fflush(stdin); }while(q<0||q>9); return q; } int aleatorio() { char i; do{ i=rand()%(1-31)+1; }while(i==7||i==8||i==9||i==10||i==13); return i; }