|
Mostrar Mensajes
|
Páginas: [1]
|
1
|
Programación / Programación C/C++ / Re: Recomendacion de libro C
|
en: 3 Agosto 2011, 20:41 pm
|
ola ....de libros de C/C++, recomiendo y me parece tan extraño,..que nadie haya hablado del 1) DEITEL/DEITEL, yo tengo la 2 edicion pero es un libro que han salido varias versiones....hasta el presente , estan todos los temas relacionados con C desde el capitulo 1 al capitulo 14 y C++ , hasta el 21 , con apendice de numeros binarios y otras cosas propias del lenguaje,...este mismo libro tambien recomienda..2) Kernighan and Richie THE C PROGRAMMING LANGUAGE , si hay versiones en español ....es uno joya de la programacion estos señores fueron coautores del lenguaje C,.... pero revisando bibliografia hay un libro en español llamado PROGRAMACION EN C,...de schaum , tiene infinidad de problemas resueltos , como trabajar en TURBO C++ , y un estilo de programacion unico , es excelente, si quieren darle mas peso teorico a la programacion , en mi caso es el DEITEL/DEITEL, la referencia principal...es descargable en cualquier parte de taringa y esas cosas, sin mas espero alla ayudado un pelo a enriquecer el foro...
|
|
|
3
|
Programación / Programación C/C++ / juego de craps (1000)tiradas , histograma de frecuencia y tiradas..
|
en: 3 Agosto 2011, 17:07 pm
|
#include<stdio.h> #include<stdlib.h> #include<time.h> #define LANZAMIENTOS 1000
#define SIZE 22//PARA EL OTRO
int tiradados(void);
main() {
int estado_juego,sum,myPoint; int ganados[SIZE]={0},perdidos[SIZE]={0}; int frecuencia[LANZAMIENTOS]={0}; int lanzamiento; float longitud=0; int z,i,j,k; int ganado=0,perdido=0;
float probabilidad=0;
srand(time(0));
for(i=1;i<=LANZAMIENTOS;i++)//para simular 1000 lanzamientos { sum=tiradados();/*primer tiro de los dados*/ lanzamiento=1;
switch(sum){
case 7:case 11: estado_juego=1; ++frecuencia[sum]; break;
case 2:case 3:case 12: estado_juego=2; ++frecuencia[sum]; break; default: estado_juego=0; myPoint=sum; printf("su punto es: %d\n",myPoint); ++frecuencia[sum]; break;
}
while(estado_juego==0){
sum=tiradados(); ++lanzamiento;
printf("%d",lanzamiento); if(sum==myPoint) estado_juego=1; else if(sum==7) estado_juego=2;
} if(lanzamiento>21) lanzamiento=21;
//if(estado_juego==1){ //++ganados; // }
// if(estado_juego==2){ // ++perdidas[lanzamiento]; //++perdidas; // }
if(estado_juego==1){ printf("Player wins\n"); ++ganado; ++ganados[lanzamiento]; }
else{ printf("Player loses\n"); ++perdido;
++perdidos[lanzamiento];
}
}
printf("juegos ganados: %d\n",ganado); printf("juegos perdidos: %d\n",perdido);
//probabilidad=(float)ganado/LANZAMIENTOS; probabilidad=100.0*ganado/(ganado+perdido); printf("la probabilidad de ganar es: %f\n",probabilidad); printf("\n");
printf("%s%13s\n","valor","frecuencia");
for(j=2;j<=SIZE2-1;j++) printf("%d%13d\n",j,frecuencia[j]);
printf("Juegos ganados o perdidos antes de 20 lanzamientos\n" "y despues de 21 lanzamientos\n\n"); for(z=1;z<=21;++z){ if (!(z % 3)) printf("\n"); printf("ganados fueron: %d %d \n",z,ganados[z]); } printf("\n");
printf("********perdidos**********"); printf("\n"); for(z=1;z<=21;++z){ if (!(z % 3)) printf("\n"); printf("perdidos fueron: %d %d \n",z,perdidos[z]); }
for(k=1;k<=21;k++) longitud+=ganados[k]*k+perdidos[k]*k; printf("el promedio del juego es %f:\n",longitud/1000.0);
return 0;
}
int tiradados(void) { int lanzamiento1,lanzamiento2,suma_lanzamientos;
lanzamiento1=1+(rand()%6); lanzamiento2=1+(rand()%6); suma_lanzamientos=lanzamiento1+lanzamiento2;
printf("el jugador a lanzado: %d+%d=%d\n",lanzamiento1,lanzamiento2,suma_lanzamientos);
return suma_lanzamientos;
}
|
|
|
|
|
|
|