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

#101
Cita de: virtualelhacker en  3 Mayo 2014, 18:11 PM
Si pero en mi libro dice como que el compilador utiliza el archivo de cabecera .h (que agrega #include) para compilar las funciones y luego dice que el enlazador completa las llamadas de las funciones agregando archivos de libreria al codigo objeto. Entonces ambos procesos agregan archivos para que las funciones funcionen?

El preprocesador es el encargado de agregar lo archivos indicados con la directiva #include, sustituye esto con el contenido completo de la libreria que le pasamos y el enlazador como indico amchacon junta los objetos generados para luego producir el ejecutable
#102
Te dejo tambien mi seudocódigo o es lo que parece xD..

Código (cpp) [Seleccionar]
for (si i = 0 es menor que dos, incremeta)
  if (n % 2 == 0) es par
   media += a la suma de los dos intermedio = valor[(n-i)/2]
  else es impar
   media = numero de elementos dividido por dos = n /2
  if (n % 2 == 0) si es par, sacar media apartir de la suma de los intermedios
   media = suma de los intermedio dividido dos = media /2


Saludos .:
#103
Cita de: Eternal Idol en  1 Mayo 2014, 20:01 PM
Blaster: ¿Yo respondi tu mensaje y vos ahora citas una parte de un mensaje anterior incluso al tuyo? Paso, hagan lo que quieran mientas respeten las reglas establecidas.

Es que ese mensaje lo publicaste cuando yo estaba escribiendo un mensaje a DonVidela y ahora recien lo vi...
#104
Cita de: Eternal Idol en  1 Mayo 2014, 17:00 PM
Bueno, es una opinion valida aunque yo no estoy de acuerdo, especialmente cuando se ponen a hacer un pseudo-torneo de codigos completos para solucionar problemas elementales lo veo como algo negativo.

La competencia sana la cual esta presente en este foro; la veo como un metodo efectivo para estimular el aprendizaje de cada quien ya que nos anima a ver un problema en diferentes perspectivas yo no encuentro la razón de verla como algo negativo.
Ademas creo que la competencia es la que hace a este foro muy activo con respecto a los demas ya que asi nunca nos aburrimos y impedir esto mas bien seria negativo al foro..
#105
Cita de: DonVidela en  1 Mayo 2014, 16:47 PM
Más soluciones al mismo problema será mejor para todos, veremos la forma de programar de distintas personas y además que no todos prefieren la misma solución al mismo problema.

@DonVidela estoy de acuerdo contigo, en consecuencia todos aprendemos cosas nuevas cada dia apartir de las diferentes soluciónes que exponen los compañeros a un problema en concreto.
Y asi los mas experimentados exponen sus criticas constructuvas con respecto a los codigos posteados para ayudarnos a mejorar; yo creo que asi deberia funcionar este tipo de foro...
#106
Yo tambien quisiera dar un pequeño aporte con este pequeño codigo que me costo
un poco realizar opera muy bien con cifras muy grandes segun las pruebas que le realice..

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

#define max 50

bool Sumar(char *str1, char *str2, char *r);

int main(void)
{
    char n1[] = "12345612345612345612345612345612312348513552";
    char n2[] = "87654321123456787654321234567851515";
    char suma[max] = "";

    Sumar(n1, n2, suma);
    std::cout << n1 << "\n+\n" << n2 << "\n\n" << suma << std::endl;

    return 0;
}

bool Sumar(char *str1, char *str2, char *r)
{
    char c1, c2;
    int carry = 0;
    int a = strlen(str1), b = strlen(str2);

    r[a > b? a : b] = 0;
    do{
         a--, b--;
        (a < 0)? c1 = '0' : c1 = str1[a];
        (b < 0)? c2 = '0' : c2 = str2[b];

        r[a > b? a : b] = carry + c1 + c2 - '0';
        r[a > b ? a : b] > '9'? r[a > b ? a : b] -= 10, carry = 1 : carry = 0;
    }while (a > 0 || b > 0);

    if (carry){
      if (strlen(r) < max){
         for (int i = strlen(r)+1; i > 0; i--)
            r[i] = r[i-1];
         r[0] = '1';
         return false;
        }
    }
    return true;
}



Saludos..
#107
Para estos casos deberias implementar una estructura donde puedes guardar los datos de las distintas personas una tal como

struct datos{
   char estado_civil[12];
   int edad;
 }persona[10];

int main(void)
{
   int i;

   for (i = 0; i < cant; i++){
       scanf("%d", &persona[i].edad);
       scanf("%s", persona[i].estado_civil);
   }

   return 0;
}


Saludos...
#108
Y el 0x80000000 de donde lo sacaste, que valor tiene y por que necesariamente debe ser este el indicado para hacer la comparación binario con dato

Saludos..
#109
Cita de: eferion en 28 Abril 2014, 17:11 PM
Después del primer for, cant1==j y cant2==k... para qué repetir valores?

Muy cierto no me habia fijado :rolleyes:

Saludos..
#110
Para evitar el problema de siempre imprimir los diez valores de cada vector podrias usar una bandera en cada situación, que te indique cuantos son menores o mayores al promedio, tal que quede asi

Código (cpp) [Seleccionar]
for (i = 0; i < 10; i++){
   if (vector[i] < promedio){
    menores[j] = vector[i];
    cant1++, j++;
   }
   else{
     mayores[k] = vector[i];
     cant2++, k++;
    }
}
    printf("Valores menores al promedio \n");
    for (j = 0; j < cant1; j++)
if (menores[j] != 0)
printf("%d ", menores[j]);

    free(menores);

    printf("\nValores mayores al promedio \n");
    for (k = 0; k < cant2; k++)
printf("%d ", mayores[k]);

    free(mayores);


No olvides inicializar las banderas a cero

Saludos..