Dev - C++ - Ayuda urgente sobre un codigo

 
Vista:
sin imagen de perfil

Ayuda urgente sobre un codigo

Publicado por Emiliano (3 intervenciones) el 08/04/2023 03:20:37
Buenas, estoy realizando un codigo que calcule la suma de potencias sucesivas de la forma n/2^n, pero a partir de introducir el 2, muestra resultados incorrectos, adjunto el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    int val, pot, base, pow;
    float result, op, n;
 
    printf("Programa que realiza la suma de potencias sucesivas de la forma n/2n dado un valor\n");
    printf("Introduzca la potencia maxima:\t");
    scanf("%d", &val);
 
    pow = 1;
    op = 0;
 
    for (pot = 1; pot <= val; pot++)
    {
        pow *= 2;
        result = 0;
 
        for (base = 1; base <= pot; base++)
        {
            n = base;
            result += n / pow;
        }
 
        op += result;
    }
 
    printf("%f\n", op);
 
    return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda urgente sobre un codigo

Publicado por dario (718 intervenciones) el 08/04/2023 04:42:14
Hola, que resultado te deberia dar si n = 5
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda urgente sobre un codigo

Publicado por Emiliano (3 intervenciones) el 08/04/2023 05:27:00
deberia dar aproximadamente 1.78
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda urgente sobre un codigo

Publicado por dario (718 intervenciones) el 08/04/2023 06:00:05
Hola, pruebalo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    float resultado=0,val;
    int i;
 
    printf("Programa que realiza la suma de potencias sucesivas de la forma n/2n dado un valor\n");
    printf("Introduzca la potencia maxima:\t");
    scanf("%f", &val);
 
    for (i=1; i<=val; i++)
        resultado = resultado + (i / pow(2,i));
 
    printf("Resultado = %.2f",resultado);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda urgente sobre un codigo

Publicado por Emiliano (3 intervenciones) el 08/04/2023 18:58:05
funciona correctamente asi, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar