Dev - C++ - Ayuda Ejercicio Arreglos

   
Vista:

Ayuda Ejercicio Arreglos

Publicado por Maria (5 intervenciones) el 15/02/2015 23:28:06
Hola.
Debo realizar el siguiente ejercicio en C++
Crear un arreglo de 10 posiciones, que se pidan los números, pero el arreglo solo se debe llenarse con números pares, después de llenarse se debe mostrar el promedio y mostrar los números mayores o iguales al promedio obtenido, también se debe mostrar en qué posición están esos números mayores al promedio.
Lo he intentado de varias maneras y hasta el momento tengo esto. Cómo puedo mostrar las posiciones de los números mayores o iguales que el promedio? Y por cierto, el promedio tampoco me funciona.


#include <iostream>
using namespace std;


int main () {
int Arreglo[10];
int c=0;
int num;
int total=0;
while (c< 10){
cout << "Ingrese numeros pares: ";
cin >> num;

Arreglo[c] = num;
c++;
total+=num;
}

float promedio=total/c;
cout << "El promedio es"<< promedio << endl;
int IgualQue = 0;
int MayorQue=0;

for (int i=0; i<c; i++){
if (Arreglo[i]==promedio){
IgualQue++;
}
else if (Arreglo[i] > promedio){
MayorQue++;
}
}
cout << "Hay" << IgualQue << " numeros iguales al promedio.";
cout << "Hay" << MayorQue << " numeros mayores al promedio.";

system("pause");
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

Ayuda Ejercicio Arreglos

Publicado por MMan (5 intervenciones) el 16/02/2015 00:28:20
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
#include <iostream>
using namespace std;
 
 
int main () {
int Arreglo[10];
int c=0;
int num;
int total=0;
while (c< 10){
cout << "Ingrese numeros pares: ";
cin >> num;
 
// se dice que SOLO debe ingresar numeros pares... en tu programa debes de asegurarte q sean pares
// si al numero lo divides /2 y sobra 0  ... entonces es par
// y lo agregas al arreglo... y solo si es correcto incrementa el contador c
if (num % 2 == 0) {
  Arreglo[c] = num;
  c++;
  total+=num;
}
 
}  // fin de while
 
 
 // si divides entre c ... c valdria 9 por que cuenta desde 0, lo correcto seria dividir entre 10
 
float promedio = total / 10;
cout << "El promedio es"<< promedio << endl;
 
 
//mostrar los números mayores o iguales al promedio obtenido,
// recorres el arreglo y lo comparas con la variable "promedio"
 
for (int i=0; i< 10; i++){
if (Arreglo[i] >= promedio){
      // la posicion seria la variable i
      // y el valor arreglo[i]
      cout << "El numero " << arreglo[i] << " en la posicion " << i << " es mayor o igual que el promedio";
}
}
 
system("pause");
return 0;
 
}


segun yo seria eso.. por que de c ... nada se, pero en todos los lenguajes de prog. hay bucles, condicionales, variables y con algo de google, piece of cake :p

no lo he probado pero .....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda Ejercicio Arreglos

Publicado por Maria (5 intervenciones) el 16/02/2015 02:36:46
Hola. Muchas Gracias.
Sí lo puse a correr pero el promedio sigue sin funcionar.
Lo he declarado como float, int, double, pero se supone que el promedio debe dar algo como 3,8 2,5 , pero nada!
Y ahora no sé cuando ingreso un número impar, debería pedir algo como otro número para llenar ese arreglo.
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

Ayuda Ejercicio Arreglos

Publicado por MMan (5 intervenciones) el 16/02/2015 03:01:39
y que es lo que te sale ? ningun numero ?? manda una captura...
haz copiado el codigo tal cual ? o haz hecho los cambios manualmente.. y te haz obviado algo? :D

cuando ingresas un numero impar... segun el codigo deberia seguir pidiendo numeros... por la condicion

while (c<10){
...
// c ++ solo incrementa si el num es par... esta dentro de un if...
}

haz contado cuantos numeros ingresaste ??
prueba con 10 veces 1
1
1
1
1
1
1
1
1
1
1
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

Ayuda Ejercicio Arreglos

Publicado por Maria (5 intervenciones) el 16/02/2015 03:10:05
Hola Tú :)
Gracias por ayudarme :)

Aquí va un pantallazo.
Yo le cambié una cosa, pero lo que no me sale es el promedio.
En el que te envío debería dar 4,8 el promedio, pero da 5 :/ a lo mejor es la declaración de la variable

Ejercicio
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

Ayuda Ejercicio Arreglos

Publicado por MMan (5 intervenciones) el 16/02/2015 03:13:23
me parece que es el "formato" por lo que te lo "redondea"

tendrias que buscar alguna funcion (o forma) para que te "imprima" los enteros y los decimales

--- aca encontre un ejemplo::

double px = 133.20;
std::cout << "Price: "
<< std::fixed << std::setprecision(2) << std::setfill('0')
<< px << std::endl;


-----------

declara promedio como double

-----
double promedio = total / 10;
cout << "El promedio es"<< std::fixed << std::setprecision(2) << promedio << endl;

---------
y si no funciona... tal vez.. le agregas un 0 decimal al 10

double promedio = total / 10.0 ;

-----
y si tampoco funciona... declara total como double
double total =0.0 ;

-----
y si aun no funciona.. como dice kiko
pos me doy!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda Ejercicio Arreglos

Publicado por Maria (5 intervenciones) el 16/02/2015 03:18:01
Ah bueno , vale :)
Muchas Gracias. Seguiré buscando.
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

Ayuda Ejercicio Arreglos

Publicado por MMan (5 intervenciones) el 16/02/2015 03:22:20
...........
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

Ayuda Ejercicio Arreglos

Publicado por Maria (5 intervenciones) el 16/02/2015 03:25:56
No había visto que modificaste el comentario xDD
Le puse double promedio = total / 10.0 y funcionó perfecto :D!!!!!

Gracias Tú :) You saved my day :)
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