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

#661
Cita de: amchacon en  9 Junio 2013, 18:26 PM
Realloc debería funcionar en C++ perfectamente, debe ser otro fallo.

Ponnos el código aquí para que podamos opinar  :rolleyes:

Error:

Citar

error: invalid conversion from 'void*' to 'char*' [-fpermissive]|


Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdlib>

using namespace std;
int main(void)
{
    char *palabra=NULL,*aux,palabra2[]="qw";
    int ch;
    int i=0,j=0;
    i = 0;
    while (ch = cin.get() != '\n')
    {
        if ((aux = realloc(palabra, (i + 10) * sizeof *palabra)) == NULL)
        {
            cout<<"No hay espacio en memoria"<<endl;
            free(palabra);
            return 1;
        }
        palabra = aux;
        palabra[i++] = ch;
   }cout<<palabra<<endl;
   palabra[i++] = '\0';
    for (i = 0; palabra[i] != '\0'; i++)
    if (palabra[i] != palabra2[i])
        break;
    if (i==2)
        cout<<palabra<<endl;
    cin.get();
    return 0;
}


Saluditos! .... ..

#662
Cita de: rir3760 en  9 Junio 2013, 17:23 PM
....................................

No sé si te has fijado que has respondido a mi primer post de la página anterior, al cual ya respondí.

Me gustaría tu opinión resecto al segundo código que propuse en C y su portabilidad a C++. Me da error en C++ el uso de realloc. "I don´t know".

Saluditos! .... ..

#663

Duda de novatillo en C++, ¿no sería más simple usar realloc en C++, como yo hice en C. o no se puede?. La verdad es que lo he intentado pero con resultados "insatisfactorios".


Saluditos! .... ..


#664
Cita de: amchacon en  9 Junio 2013, 14:14 PM

¿Excelencias del WAV?


No puedo creer que quieras abrir un nuevo "frente" alabando al wav, homónimo del CD en cuanto a bitrate de 1141 a 3000 bps, frente a los ya buenos 192 o incluso 320 y similar calidad "audible" para un oído humano normalito con el consiguiente menor tamaño de los mp3.

Es como volver a los .bmp frente a los .jpg o a intentar "pasar" los fichero por Internet sin comprimir. O, por qué no, dejar los CD y volver a los discos de vinilo que yo, por cierto, aún mantengo, tienen su encanto, sniff, sniff.

¿Qué hacemos entonces con el reproductor de mp3, bien sea un reproductor puro y duro o un Tablet, PC, smartphone, reproductor de pelis.....?. ¿Volvemos a usar el wav?. Pero entonces le tenemos que "colgar" un disco externo de tres teras para guardar lo mismo. ¿Y dónde meto mi disco llenito de música de 1 tera?. Por no hablar de las "pelis y series" ......


Saluditos! .... ..

#665
Cita de: amchacon en  9 Junio 2013, 13:40 PM
Estás limitando la entrada a 19 letras (como le metas 25 te va a dar un desbordamiento de buffer).

Me parece que esto sería más correcto:

Código (cpp) [Seleccionar]
#include <iostream>
[color=red][size=10pt][b]#include <conio.h>[/b][/size][/color]
[size=10pt][b]#include <vector>[/b][/size]
using namespace std;
int main()
{
  .....................................


¡amchcon has hecho uso de la librería conio ..... y de getch!. ¡¡¡¡Dos pecados mortales !!!!! :laugh:

Pues yo, siguiendo los pasos del maestro rir ,hago otra propuesta, eso sí espero que alguien la "pase" a C++  ;) ....a buen entendedor, pocas palabras:


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

int main(void)
{
   char *palabra,*aux,palabra2[]="qw";
   int ch;
   int i=0,j=0;
   palabra = NULL;
   while ((ch = getchar()) != '\n'){
       if ((aux = realloc(palabra, (i + 10) * sizeof *palabra)) == NULL){
           puts("No hay espacio en memoria\n");
           free(palabra);
           return EXIT_FAILURE;
       }
       palabra = aux;
       palabra[i++] = ch;
   }
   palabra[i++] = '\0';
   for (i = 0; palabra[i] != '\0'; i++)
       if (palabra[i] != palabra2[i])
           break;
   if (i==2)
       {puts("Hola mundo\n");}
  return EXIT_SUCCESS;
}


Saluditos! .... ..

#666
Lástima, tengo el *4.

Saluditos! .... ..


P.D:Esto va por un post anterior en que había propaganda de teléfonos.
#667
Programación C/C++ / Re: Programa en C++
9 Junio 2013, 09:18 AM
Cita de: flony en  9 Junio 2013, 08:49 AM
P=C, X=i, cuota=pfm;
la unica variable a sacar es n...parece q no ,pero se puede obtener ese dato

Basta tomar logaritmos en la expresión que posteo y despejar. Sencillo.

Saluditos! .... ..
#668
Cita de: rir3760 en  9 Junio 2013, 08:53 AM
En el bucle:
Código (cpp) [Seleccionar]
for (i=0;palabra[i]!='\0';i++)
  if (palabra[i]==palabra2[i])
     continue;

El condicional no tiene efecto.

tiene efecto, combinado con la línea que le sigue. Fíjate bien en el if con la i, y si no pruébalo Otra cosa es que pierda eficiencia al comparar más allá del número de caracteres de palabra2. Sin dudarlo un instante me quedo con:

Citar

Código (cpp) [Seleccionar]
for (i = 0; palabra[i] != '\0' && palabra[i] == palabra2[i]; i++)
  ;



Saluditos! .... ..
#669
Cita de: flony en  9 Junio 2013, 07:50 AM
en realidad los años se pueden calcular despejando las variables

El mundo al revés. Por supuesto, basta despejar n en :

cuota=C*i/((1-(1+i)^(-n))

Saluditos! .... ..
#670
Programación C/C++ / Re: Programa en C++
9 Junio 2013, 08:35 AM
Cita de: +-+Dios_es_Amor+-+ en  9 Junio 2013, 03:16 AM

El problema es este:
Dice presente una tabla de amortizacion de un prestamo P, a un interes X, con un pago fijo mensual PFM.

Entonces, como te ha comentado flony, el sistema francés.

Mira que los del rincón del vago se enrollan y la pifian por no poner bien las potencias:


Citar

(1+i) n . i = (1 + 0'14) 5 . 0'14= 0'269558041


es en realidad:

Citar

(1+i)^n . i = (1 + 0'14)^5 . 0'14= 0'269558041


A lo breve, la cuota fija a pagar por un capital C a un interes i durante n años es:

Citar

cuota=C*i/((1-(1+i)^(-n))



Saluditos! .... ..