Dev - C++ - Algoritmo en C++ (ZinjaI)

 
Vista:
sin imagen de perfil

Algoritmo en C++ (ZinjaI)

Publicado por Sary (4 intervenciones) el 28/02/2018 03:52:30
Algoritmo que:
diga el promedio de los numeros pares mayores a 40.
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: 160
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Algoritmo en C++ (ZinjaI)

Publicado por Andrés (53 intervenciones) el 28/02/2018 03:56:58
mm pero falta un límite, y es algoritmo o el programa en c++? llevas algo?
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

Algoritmo en C++ (ZinjaI)

Publicado por Sary (4 intervenciones) el 28/02/2018 03:58:57
es un programa en C..

el ejercisio dice:

leer 80 numeros enteros e indicar:
cual es el Promedio de los Numeros Pares Mayores a 40.
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

Algoritmo en C++ (ZinjaI)

Publicado por Sary (4 intervenciones) el 28/02/2018 03:59:25
es un programa en C..

el ejercisio dice:

leer 80 numeros enteros e indicar:
cual es el Promedio de los Numeros Pares Mayores a 40.
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: 160
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Algoritmo en C++ (ZinjaI)

Publicado por Andrés (53 intervenciones) el 28/02/2018 04:51:45
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <stdlib.h>
 
#define LEN 80
#define DIEZ 10
#define CUARENTA 40
 
int calcular_promedio(int *);
 
int main(int argc, char* argv[])
{
 
	int numeros[LEN];
 
    printf("Ingrese %d números enteros\n", LEN);
 
	unsigned char i = 0;
	unsigned char contador_mensaje = 1;
 
	while(i < LEN)
	{
 
		scanf("%i", &numeros[i++]);
 
		if(0 == contador_mensaje++ % DIEZ)
		{
			printf("Faltan %i números por ingresar\n", LEN-i);
		}
 
 
	}
 
	int resultado = calcular_promedio(&numeros[0]);
 
	if(-1 == resultado)
	{
		printf("No se encontraron números pares mayores a %i\n", CUARENTA);
	}else
	{
		printf("\nEl promedio es: %i\n", resultado);
	}
 
	return EXIT_SUCCESS;
 
}
 
int calcular_promedio(int * arreglo)
{
	unsigned int suma = 0;
	unsigned char mayores_cuarenta = 0;
 
	int valor;
 
	for(register int i = 0 ; i < LEN ; i++)
	{
 
		valor = *(arreglo+i);
 
		if( CUARENTA < valor && 0 == (valor&1))
		{
			mayores_cuarenta++;
			suma += valor;
		}
 
	}
 
	return 	(mayores_cuarenta > 0) ? suma/mayores_cuarenta : -1;
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Algoritmo en C++ (ZinjaI)

Publicado por Sary (4 intervenciones) el 28/02/2018 06:19:45
muchas gracias. ahora lo pruebo
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: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Algoritmo en C++ (ZinjaI)

Publicado por Martín (158 intervenciones) el 28/02/2018 19:46:47
En C++ puede resolverse de manera bastante simple; por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <numeric>
#include <vector>
 
int main()
{
    const int n = 80;
    std::vector<int> a(n);
 
    for (int i = 0; i < n; ++i) {  // lectura de los datos
        std::cout << '\n' << i + 1 << ") ";
        std::cin >> a[i];
    }
 
    // acumula los valores pares mayores que 40:
    int num = 0;
    int sum = std::accumulate(a.begin(), a.end(), 0,
                              [&num](int s, int i) { if (i > 40 && !(i % 2)) { ++num;  return s + i; } return s; });
 
    std::cout << "Promedio de los pares mayores que 40: " << ((num) ? static_cast<float>(sum) / num : 0) << '\n';
}
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