Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - leosansan

#681
Cita de: edr89 en  7 Junio 2013, 01:49 AM
Gracias!, ya lo entendi, la clave es:

fact*=(x/n++);

y como dices me evito lo demas


Más exactamente:

Código (cpp) [Seleccionar]
frac=frac*x/(i+1);

No confundir con:

Código (cpp) [Seleccionar]
frac=frac*x/(i++);

ya que en este caso sólo se tomarían los términos pares de la serie, ya que en cada ciclo del for harían dos incrementos, el del for y el de la instrucción última.

Saluditos desde Gran Canaria! .... ..
#682
Cita de: flony en  7 Junio 2013, 04:17 AM
no se hace tareas, por mas nombre de niña que tengas
un ejemplo seria


Tampoco es plan de jugar al despiste. Se ayuda o no.

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int main()
{
   int vect[100]={0};
   int i;
   for (i=0;i<=99;i+=7)
   {
       cout<<endl<<"Ingrese un numero "<< i+1 <<  "en el rango 20-300 : ";
       cin>>vect[i];
       if(vect[i]>=20 && vect[i]<=300)
           cout<<"Buen dato"<<endl;
       else
       {
            cout<<"no seas aficionado, sabes que ese numero no vale"<<endl;
            i--;
       }
   }
   for (i=0;i<=99;i++) //mostrar
   cout<<vect[i];
   return 0;
}


Saluditos desde Gran Canaria ! .... ..
#683
Programación C/C++ / Re: Ayuda
6 Junio 2013, 21:37 PM
¡No deberías abrir un tema nuevo!, bastaba continuar posteando en el otro que es donde te he dejado un pequeño avance.

Mira ver si puedes eliminar este tema, no tiene sentido tener dos abiertos con lo mismo.

Yo seguiré respondiéndote en el otro.


Saluditos! .... ..
#684
Cita de: mathias_vg en  5 Junio 2013, 21:18 PM
leosansan, eh estado tratando de seguir con el juego y hasta ahora he avanzado un poco aca abajo te cuelgo lo que puede hacer, a ver que tan bien esta o que me podes sugerir.


Por si te has quedado atascado, te paso el código "ligeramente modificado" para que no tengas problemas al compilar con el Dev-C++.

He mejorado por un lado el tema de las elecciones de las variables  y, por otro lado, ya puedes entrar las fichas sin que se superpongan y que "suban", vamos que puedes rellenar el tablero sin problemas.

Harina de otro costal es implementar las condiciones para ver quien gana,si hay empate y si se "salen" del tablero. Si tienes dificultad, si es que te lo piden también, avisa y veremos que se puede hacer. En realidad ya "casi" lo tengo hecho para el "otro" juego, el original de cuatro en línea, pero claro yo hago uso de funciones y no sé si tú puedes usarlas o no. Ya me dirás.

Eso sí, aclaro que no es el código que yo haría sino una mejora en el que has propuesto:


Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main()
{

   char d;
   printf("\n\n\n     JUEGO CONECTA CUATRO\n\n\n\n\n\n\n");
   do
   {
       printf("       Nueva partida (S/N): ");
       scanf("%c",&d);
       if (d=='n' || d=='N')
       {
           puts ("Hasta lueguito.");
           return 1;
       }
       if (d!='s' && d!='S')
           puts ("Elija: s / n ");
   }while (d!='s' && d!='S');

   int n=0,i=0,j=0,dim=0,resto=0,k=0,jugador=1;
   printf("\n\n\n\nIngresa la dimension del tablero de juego(5-10):\n\n");
   do
   {
       scanf (" \n%d",&dim);
       if (dim<5 || dim>10)
           puts("Opcion no valida.\nIngresa la dimension (5-10)");
   }while (dim<5 || dim>10);

   char matriz[dim+1][dim+1];
   system ("cls");
   do
   {
       for (i=1;i<=dim;i++)
       {
           for (j=1;j<=dim;j++)
           {
               matriz[i][j]='.';
                   printf("%c ",matriz[i][j]);
           }
           printf("\n");
       }
       while (resto<=(dim*dim))
       {
           if (jugador==1)
           {
               jugador++;
               do
               {
                   //
                   printf("\nJuega JUGADOR 1: ");
                   scanf ("%d",&n);
                   if (n<1 || n>5)
                       puts ("Posicion no valida.\nEntre un nuevo valor.");
               }while(n<1 || n>5);
               for (k=dim;k>=1;k--)/*<==este for es mejorable*/
               {
                       if (matriz[k][n]!='.')
                           continue;
                       else
                       {
                           matriz[k][n]='O';
                           break;
                       }
               }
               printf("\n");
               for (i=1;i<=dim;i++)
               {
                   for (j=1;j<=dim;j++)
                   {
                       printf ("%c ",matriz[i][j]);
                   }
                   printf("\n");
               }
           }
           else
           {
               jugador=1;
               do
               {
                   printf("\nJuega JUGADOR 2: ");
                   scanf ("%d",&n);
                   if (n<1 || n>5)
                       puts ("Posicion no valida.\nEntre un nuevo valor.");
               }while(n<1 || n>5);
               for (k=dim;k>=1;k--)
               {
                       if (matriz[k][n]!='.')
                           continue;
                       else
                       {
                           matriz[k][n]='X';
                           break;
                       }
               }
               system ("cls");printf("\n");
               for (i=1;i<=dim;i++)
               {
                   for (j=1;j<=dim;j++)
                   {
                       printf ("%c ",matriz[i][j]);
                   }
                   printf("\n");
               }
           }

       resto++;
       }
    }while (1);
   return 0;
   system("PAUSE");
}


Saluditos! .... ..

#685
Programación C/C++ / Re: Duda básica en C++
6 Junio 2013, 18:58 PM

#686
Programación C/C++ / Re: Duda básica en C++
6 Junio 2013, 18:16 PM
Cita de: amchacon en  6 Junio 2013, 17:54 PM
Creo que lo que pretende es:
....................................

PD: Feliz día de Canarias  ;-)

Gracias mil "maestro", nada como un ejemplo para los cortitos de vista como yo.  ;-) ;-) ;-)

¡Ya me he hecho un File con los consejitos de mi colegüita amchacon!.


Saluditos! .... ..

#687
Programación C/C++ / Re: Duda básica en C++
6 Junio 2013, 17:15 PM
Cita de: rir3760 en  6 Junio 2013, 15:06 PM

Cada linea debes procesarla, primero extraes de esta tres enteros (por ejemplo utilizando la clase stringstream) y validas estos mediante tu función. Si cualquiera de los dos pasos falla la fecha no es valida, caso contrario lo es.


¡Uffff!, que fuerte. La idea es muy interesante, pero ¿podrías orientarme en la función a emplear para dicha extracción?. Te aseguro que la busco pero no la encuentro. Gracias de antemano.

Saluditos! .... ..

Por el día de Canarias
#688
Cita de: amchacon en  6 Junio 2013, 12:22 PM
Es la mejor opción, pero como no sabía si había dado los while he preferido lanzar un error fatal y punto.

Lo entiendo, pero esas tareas que se mandan sin haber explicado mínima-mente los bucles me parecen, cuanto menos, una insensatez, por aplicar un calificativo "suave".

Claro que tampoco hay que esperar mucho de un profesor que les obliga a usar Dev-C++, a estas alturas del siglo XXI. Mira que les cuesta actualizarse, no hay nada como una plaza fija para apoltronarse y pasar de todo. Así se entiende que vaya la enseñanza como va, y luego se quejan de recortes y demás sandeces. Lo malo es que eso no hay ley que lo arregle, es consustancial al género humano el "apoltronamiento" cuando se es fijo y no se tienen más metas que cobrar al final de mes. Asco de gentuza que in-dignifican la bella labor de la enseñanza y lo dice alguien que se ha tirado más de treinta años dedicado, en cuerpo y alma, a la enseñanza universitaria.

Y gracias otra vez por el enlace
;)

Saluditos! .... ..


P.D: Lo de la banderita es que estoy celebrando el día de Canarias .....un mes después. Es que ando despacito, despacito. :laugh: :laugh: :laugh:
#689
Cita de: Langosta Sexual en  6 Junio 2013, 02:45 AM
Bien, segun lo que me dijiste segui haciendo el programa y me quedo asi:


Pues a mí me quedo así:

Código (cpp) [Seleccionar]
#include <stdio.h>

int main ()
{
   int opcion;
   float precio_g=0.1,precio_ng=0.1, precio_ng_sin=0.1,precio_g_con=0.1, pagar=-1,no_sufiente=0;
   do
   {
       printf ("\nSeleccione la opcion:\n1.- Generico\n2.- No generico\n3.- Salir:\n");
       scanf ("%d",&opcion);
   }while (opcion<0 || opcion>3);
   if (opcion ==3)
   {
       puts("Hasta la proxima visita.");
       puts ("Presione una tecla para salir");
       getchar();
       getchar();return 1;
   }
   do
   {
       printf ("Introduzca el precio:");
       if (opcion==1)
           scanf ("%f",&precio_g);
       else if (opcion==2)
           scanf ("%f",&precio_ng);
       if (precio_g<0  || precio_ng<=0)
           puts ("Opcion no valida");
   }while (precio_g<0 || precio_ng<=0);
   precio_ng_sin=precio_ng*.85;
   precio_g_con=precio_g*1.12;
   if (opcion==2)
       printf("\nPrecio del no generico: %g\n",precio_ng_sin);
   else
       printf("\nPrecio del generico: %g\n",precio_g_con);
   do
   {
       no_sufiente=0;
       printf ("Introduzca cantidad con que va a pagar: ");
       scanf ("%f",&pagar);
       if ((opcion ==1 && pagar<precio_g_con) || (opcion ==2 && pagar<precio_ng_sin))
           {
               puts("\nCantidad insuficiente");
               no_sufiente=1;
           }
   }while (no_sufiente==1);
   printf("Cantidad a devolver: ");
   if (opcion==2)
       printf("%g\n",pagar-precio_ng_sin);
   else
       printf("%g\n",pagar-precio_g_con);
   puts ("Presione una tecla para salir");
   getchar();
   getchar();
   return 0;
}


Como ves, hay que introducir varios do-while para cuando la elección no sea correcta se vuelva atrás y se permita la elección correcta. Y por otro lado declaro las variables, menos la variable opcion, como float, ya que double es una pasada , sólo para números exageradamente grandes.

Saluditos! .... ..

#690
Programación C/C++ / Re: Duda básica en C++
6 Junio 2013, 09:57 AM
Cita de: dorkam en  6 Junio 2013, 02:55 AM
..............................................................................
pero el programa deberia leer un numero indeterminado de fechas y mostrar el resultado de cada una de ellas.


Supongo que te refieres a poder introducir sucesivamente varias fechas, indicando en cada caso sin son correctas o no, ya que para guardarlas habría que hacer uso, como mínimo, de arrays y tú solo quieres if/else.

Pero para lograr tu objetivo se necesito un bucle que repita la operación de introducir datos, un for o while o do-while. Yo me he decantado por esta última opción. Además si hay un bucle debe introducirse la opción de salir.

Una salida como la que quieres podría ser:


Código (cpp) [Seleccionar]
Introduzca dia mes anyo (0 para salir):
Dia :12
Mes :3
Anyo :2012
Dia 12 mes 3 y anyo 2012 Datos correctos
Introduzca dia mes anyo (0 para salir):
Dia :28
Mes :2
Anyo :2000
Dia 28 mes 2 y anyo 2000 Datos correctos
Introduzca dia mes anyo (0 para salir):
Dia :31
Mes :2
Anyo :2013
Dia 31 mes 2 y anyo 2013 Datos incorrectos
Introduzca dia mes anyo (0 para salir):
Dia :0

Process returned 0 (0x0)   execution time :


Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main() {
   int a, b, c;
   do
   {
    cout << "Introduzca dia mes anyo (0 para salir):"<<endl;
    cout <<"Dia :"; cin >> a ;
    if (a==0)
        break;
    cout <<"Mes :"; cin >> b ;
    cout <<"Anyo :"; cin >> c ;
if ((b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 ||
b == 12) && (a > 0 && a <= 31)) {
cout << "Dia "<< a<<  " mes "<< b<< " y anyo "<< c<< " Datos correctos" << endl;
} else {
if ((b == 4 || b == 6 || b == 9 || b == 11) &&
(a > 0 && a <= 30)) {
cout << "Dia "<< a<<  " mes "<< b<< " y anyo "<< c<< " Datos correctos" << endl;
} else {
if (b == 2 && a > 0 && a <= 28) {
cout << "Dia "<< a<<  " mes "<< b<< " y anyo "<< c<< " Datos correctos" << endl;
} else {
if ((b == 2 && a == 29) && (((c % 4 == 0) &&
(c % 100 != 0)) || ((c % 4 == 0) &&
(c % 100 == 0) && (c % 400 == 0)))) {
cout << "Dia "<< a<<  " mes "<< b<< " y anyo "<< c<< " Datos correctos" << endl;
} else {
cout << " Dia "<< a<<  " mes "<< b<< " y anyo "<< c<< " Datos incorrectos" << endl;

}
}
}


   }
   }while (a!=0);
    return 0;
}


Saluditos! .... ..