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 - ironserch

#1
Java / Formatear Fecha
16 Enero 2016, 20:27 PM
Hola amig@s, estoy creando una clase Fecha y en ella tengo implementado varios métodos, pero tengo un problema con uno de ellos.

Es un método para que me muestre una fecha en el siguiente formato (martes 2 de septiembre de 2003).

El problema es que el método me muestra la fecha actual y lo que quiero es la fecha que le paso en el programa principal creando un objeto de tipo Fecha f, por ejemplo, y llamando al método con f.muestraAlfabetica();

El codigo que tengo para ese método es el siguiente:


   
Código (java) [Seleccionar]
public void muestraAlfabetica(){

Date today = new Date();
Locale currentLocale = new Locale ("es", "ES");
DateFormat dateFormatter = DateFormat.getDateInstance(DateFormat.FULL,currentLocale);
String dateOut = dateFormatter.format(today);

System.out.println(dateOut);
}


Muchas gracias de antemano.
#2
Programación C/C++ / Re: Duda programación C
2 Diciembre 2014, 12:54 PM
Joder soy un jodido ciego jajaja ya me sale, muchas gracias! jajaja ;)
#3
Programación C/C++ / Re: Duda programación C
2 Diciembre 2014, 12:02 PM
muchas gracias pero donde meto ese if? mire este es el enunciado de mi problema :

Enunciado:


Escribir un programa C que muestre un menú de dos opciones correspondientes a las
especificaciones 1 y 2.

El programa debe validar la introducción de opciones correctas.


Especificación 1.

Determinar en una secuencia indeterminada de entrada estándar compuesta solo
por ceros o unos, cuál es la subsecuencia estrictamente más larga.

Una subsecuencia de una secuencia S de de números enteros se define como un
conjunto de 1 o más caracteres consecutivos e iguales.

Suponer la entrada de datos correcta, es decir solo la forman unos y ceros.
Ejemplos:


0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 La secuencia más larga tiene 7 números (0).
1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 La secuencia más larga tiene 9 números (1).
1 1 1 0 1 1 1 No hay secuencia más larga "estrictamente".


Especificación 2.

Una subsecuencia de una secuencia S de caracteres se define como un conjunto de 1 o
más caracteres consecutivos e iguales.

La longitud de una secuencia (subsecuencia) es el número de caracteres que la componen.

Se dice que una secuencia S de caracteres mantiene la igualdad de longitudes en las subsecuencias que la forman, si está constituida por una o más subsecuencias de caracteres, de tal forma que la longitud de cada subsecuencia es igual que la siguiente.

Ejemplos:


  • AAAA7777???? cumple la condición del enunciado (todas sus subsecuencias tienen la misma longitud) y además consta de 3 subsecuencias, la formada por el carácter 'A',
    la formada por el carácter '7' y la formada por el carácter '?'

  • zzzzzXX NO cumple la condición del enunciado


En la entrada estándar está grabada una línea de caracteres, acabada con un '$', que
representa una secuencia. El carácter '$' no forma parte de la secuencia.

Determinar, mostrando un mensaje explicativo en la salida estándar, si la secuencia
de caracteres de entrada es vacía (una secuencia es vacía si solo está formada por el
carácter '$'), o si cumple o no la condición enunciada.

En caso de que se cumpla la condición enunciada, debe mostrarse además el número
de subsecuencias encontradas.


Y mi codigo completo que tengo seria este:

#include <stdio.h>
void main()
{
   int eleccion;
   do{
       printf("\n\nElegir una de las siguientes opciones:\n\n");
       printf("1. ESPECIFICACION 1: Subsecuencia estrictamente mas larga.\n\n");
       printf("2. ESPECIFICACION 2: La longitud de cada subsecuencia es igual que la siguiente.\n");
       printf("3. Salir del menu.\n\n");
       printf("Elige su eleccion: ");
       scanf("%d", &eleccion);

       switch (eleccion)
       {
           case 1: printf("\n\nHas elegido la especificacion %d:\n\n",eleccion);
                   printf("Determinar en una secuencia indeterminada de entrada estandar compuesta solo por '0' o '1', decir cual es la subsecuencia estrictamente mas larga.\n\n");
                   especificacion1();
                   break;
           case 2: printf("\n\nHas elegido la especificacion %d:\n\n",eleccion);
                   printf("Determinar si en una secuencia de caracteres mantiene la igualdad de longitudes en las subsecuencias que la forman, si esta constituida por una o mas subsecuencias de caracteres, de tal forma que la longitud de cada subsecuencia es igual que la siguiente.\n\n");
                   especificacion2();
                   break;
           case 3: break;
           default: puts("\n\nPor favor, introduzca una eleccion correcta. Gracias.");
       }
   }
   while(eleccion!=3);
}
void especificacion1()
{
   int numero, siguiente, anterior=2;
   int longitud=1, longitud_maxima_anterior, longitud_maxima=1, contador_iguales=0;
   int digitoSecuenciaMasLarga = -1;

   printf("Introduce una secuencia de numeros compuesta por \"0\" y \"1\" y que acabe por ^Z.\nGracias:\n\n");

   if ((scanf("%d", &numero))==EOF)
   {
       printf("\n\nEs una secuencia vacia.\n");
       return 0;
   }
   else
   {
       anterior=numero;

       while(scanf("%d", &siguiente)!=EOF)
       {
           if(numero==siguiente)
           {
               longitud++;
               numero=siguiente;

               if(longitud>longitud_maxima)
               {
                   longitud_maxima=longitud;
               }
           }else
           {
               longitud_maxima_anterior=longitud;

               if(longitud_maxima_anterior=longitud_maxima)
               {
                   contador_iguales++;
                   longitud=1;
                   numero=siguiente;
               }
           }
       }
       if(longitud>longitud_maxima)
       {
           longitud_maxima=longitud;

           if(digitoSecuenciaMasLarga==-1)
               digitoSecuenciaMasLarga=numero;
           else if(digitoSecuenciaMasLarga!=numero )
               ++contador_iguales;

           longitud=0;
           printf("%d digitoSecuenciaMasLarga",digitoSecuenciaMasLarga);
       }
       if (contador_iguales>1)
       {
           printf("\nNo hay secuencia mas larga \"estrictamente\".\n");
       }else
       {
           printf("\nLa subsecuencia mas larga tiene %d numeros (%d).\n\n", longitud_maxima /*numero de la subsecuencia mas larga*/);
       }

   }

}
void especificacion2()
{
   char anterior, caracter;
   int longitud=1, i, iguales=1, contsub=1;

   printf("Introduce una secuencia de caracteres acabada por \"$\":\n\n");
   fflush(stdin);
   scanf("%c",&anterior);

   if(anterior=='$')
   {
       printf("\nEs una secuencia vacia.\n");
       return 0;
   }
   fflush(stdin);
   scanf("%c", &caracter);

   while(caracter==anterior)
   {
       longitud++;
       anterior=caracter;
       fflush(stdin);
       scanf("%c", &anterior);
   }
   while((scanf("%c", &caracter))!='$' && iguales)
   {
       contsub++;
       anterior=caracter;
       fflush(stdin);
       scanf("%c", &anterior);

       for(i=2; i<longitud; i++)
       {
           if(caracter!=anterior)
           {
               iguales=0;
               break;
           }
           anterior=caracter;
           fflush(stdin);
           scanf("%c", &anterior);
           if(caracter=='$')
           {
               iguales=0;
               break;
           }
       }
       if(caracter=='$')
       {
           iguales=0;
           break;
       }
       fflush(stdin);
       scanf("%c", &caracter);

       if(caracter==anterior)
       {
           iguales=0;
           break;
       }
   }
   if(iguales)
       printf("\nLa secuencia mantiene la igualdad de longitudes en las subsecuencias.\nHay %d subsecuencia(s).\n\n", contsub);
   else
       printf("\nLa secuencia NO mantiene la igualdad de longitudes en las subsecuencias.\n\n");
}

void especificacion1();
void especificacion2();
#4
Programación C/C++ / Re: Duda programación C
1 Diciembre 2014, 14:08 PM
vale hasta ahi llego pero como pongo para que salga el 0 o 1 dependiendo de la secuencia mas larga?
#5
Programación C/C++ / Re: Duda programación C
1 Diciembre 2014, 12:49 PM
Y como sería el código?
#6
Programación C/C++ / Re: Duda programación C
1 Diciembre 2014, 12:23 PM
Ante todo gracias por contestar =).


  • Mi primer if seria si encuentra que esta "vacia" (dado que la secuencia puede ser vacia, no tener ni 1 ni 0), y que diga que es una secuencia vacia y si no pues que me haga el resto.
  • En cuanto a lo de la variable que almacena el caracter de la secuencia mas larga no se como ponerlo.

PD: Ejecute mi codigo justo antes de escribir el post y me iba perfectamente, lo unico que me faltaba era la parte de que mostrara el caracter de la secuencia mas larga. Ahora lo volvi a ejecutar y no me funciona! que bien oye! jajaja me rio por no llorar.
#7
Programación C/C++ / Duda programación C
1 Diciembre 2014, 10:48 AM
Hola amig@s tengo un problema con la funcion de la especificacion1.

En ella tengo que determinar en una secuencia indeterminada de entrada estándar compuesta solo por ceros o unos, cuál es la subsecuencia estrictamente más larga.

Suponer la entrada de datos correcta, es decir solo la forman unos y ceros.

Ejemplos:

0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 La secuencia más larga tiene 7 números (0).

1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 La secuencia más larga tiene 9 números (1).

1 1 1 0 1 1 1 No hay secuencia más larga "estrictamente".

Mi codigo para esa funcion es:

void especificacion1()
{
    int numero, siguiente, anterior=2;
    int longitud=1, longitud_maxima_anterior, longitud_maxima=1, contador_iguales=0;

    printf("Introduce una secuencia de numeros compuesta por '0' y '1' y que acabe por ^Z.\nGracias:\n\n");

    if ((scanf("%d", &numero))==EOF)
    {
        printf("\n\nEs una secuencia vacia.\n");
        return 0;
    }
    else
    {
        anterior=numero;

        while(scanf("%d", &siguiente)!=EOF)
        {
            if(numero==siguiente)
            {
                longitud++;
                numero=siguiente;

                if(longitud>longitud_maxima)
                {
                    longitud_maxima=longitud;
                }
            }else
            {
                longitud_maxima_anterior=longitud;

                if(longitud_maxima_anterior=longitud_maxima)
                {
                    contador_iguales++;
                    longitud=1;
                    numero=siguiente;
                }
            }
        }
        if (contador_iguales>1)
        {
            printf("\nNo hay secuencia mas larga \"estrictamente\".\n");
        }else
        {
            printf("\nLa subsecuencia mas larga tiene %d numeros (%d).\n\n", longitud_maxima, /*numero de la subsecuencia mas larga*/);
        }

    }

}


Si ven que mi codigo se puede mejorar o algo por favor indiquemelo. Muchas gracias =)
#8
Programación C/C++ / Re: Dudas programación en C
24 Septiembre 2014, 23:38 PM
Pero como hago para que me aparezca como "ELE\NITO DEL BOSQUE"??

El codigo que tengo ahora es este:


   char nombre[4], apellidos[16];

    printf("\n\n\nIntroducir nombre: ");
    scanf("%s", &nombre);

    printf("\n\n\nIntroducir apellidos: ");
    scanf("%s", &apellidos);

    printf("\n\nLa sentencia seria: %s %s", nombre\\apellidos);

#9
Programación C/C++ / Re: Dudas programación en C
24 Septiembre 2014, 13:36 PM
Para el tercer apartado me sale si escribo lo siguiente

   printf("\n\n%3s %15", "ELE\\NITO DEL BOSQUE");

Pero quiero tenerlo de esta otra forma:

char nombre, apellidos;

    printf("\n\n\nIntroducir nombre: ");
    scanf("%3s", &nombre);

    printf("\n\n\nIntroducir apellidos: ");
    scanf("%15s", &apellidos);

    printf("\n\nLa sentencia seria: %3s %15", "nombre\\apellidos");
#10
Programación C/C++ / Dudas programación en C
24 Septiembre 2014, 12:53 PM
Hola amig@s necesito crear un codigo en C. En el me piden que se escriban las siguientes expresiones enteras: 1 -12 -123 1234 12345 una en cada linea y con un ancho de campo igual a 9.

Ampliar el programa con una sentencia de escritura que escriba las mismas expresiones especificando solo un ancho de campo a 4.

(Hasta aqui creo que tendria el codigo bien)

Pero me pide ahora que añada otra sentencia de escritura que escriba en una nueva linea tu inicial con un ancho de campo = 3 seguida del caracter \ y a continuacion tus apellidos con un ancho de campo = 15.

Luego incluyendo una variable "r" de tipo float, añadir otras 3 sentencias de escritura que escriban en una nueva linea su valor real, su valor con dos decimales y su valor real en un ancho de 10 y 2 de precision. Asignar previamente el valor 123.129.


#include <stdio.h>

void main()
{
    system("title SALIDA DE DATOS CON FORMATO EJERCICIO A");

    int ent1, ent2, ent3, ent4, ent5;

    printf("Introducir primera expresion enteras: ");
    scanf("%d", &ent1);

    printf("\n\nIntroducir primera expresion enteras: ");
    scanf("%d", &ent2);

    printf("\n\nIntroducir primera expresion enteras: ");
    scanf("%d", &ent3);

    printf("\n\nIntroducir primera expresion enteras: ");
    scanf("%d", &ent4);

    printf("\n\nIntroducir primera expresion enteras: ");
    scanf("%d", &ent5);

    //ancho de campo = 9:

    printf("\n\n\nPara el ancho de campo = 9:");

    printf("\n\n%9d", ent1);

    printf("\n\n%9d", ent2);

    printf("\n\n%9d", ent3);

    printf("\n\n%9d", ent4);

    printf("\n\n%9d", ent5);

    //ancho de campo = 4:

    printf("\n\n\nPara el ancho de campo = 4:");

    printf("\n\n%4d", ent1);

    printf("\n\n%4d", ent2);

    printf("\n\n%4d", ent3);

    printf("\n\n%4d", ent4);

    printf("\n\n%4d", ent5);

    /* Hasta aqui me resuelve bien.

   pero no se como se haria el tercer punto */


    char nombre, apellido;

    printf("\n\n\nIntroducir nombre: ");
    scanf("%c", &nombre);
   
    printf("\n\n ")

    printf("\n\n\nIntroducir apellido: ");
    scanf("%c", &apellido);
   
    /* tendria que salir si el nombre por ej es ELENA y sus apellidos NITO DEL BOSQUE

    tendria que aparecer como ELE\NITO DEL BOSQUE*/

}



PD: Me piden que lo haga sin estructuras de control.

Muchas gracias! =)