| Ver tema anterior :: Ver siguiente tema |
| Autor |
Mensaje |
GROOBER1 Yo soy el foro


Registrado: 08 Abr 2007
Mensajes: 941
Ubicación: Venezuela
|
Publicado: Lun Jul 21, 2008 2:14 pm Título del mensaje: ayuda con vector en c++ |
|
|
ok bueno saludos a todos en este post yo soy del post de diseño 3d pero ahrita tengo un problemita y quisiera su ayuda..
necesito crear un programa en c++ que me lea un vector con 10 sueldos y me de el promedio de esos 10 sueldos introducidos en ese vector ademas que me muestre el mayor y el menor de los sueldos..
la cosa es que coloco para que carguen los vectores y todos pero no se sacar el promedio del vector, yo lo habia hecho con varios vectores pero con uno se me complico bastante, una ayudita pleaseeeeee
EDIT estoy programando en c++.net de visual studio 2005 en una aplicacion de windows. _________________
DiSeÑo 3d |
|
| Volver arriba |
|
 |
DARKDMR Yo soy el foro


Registrado: 13 Sep 2006
Mensajes: 4012
Ubicación: Venezuela/Zulia/Maracaibo
|
|
| Volver arriba |
|
 |
GROOBER1 Yo soy el foro


Registrado: 08 Abr 2007
Mensajes: 941
Ubicación: Venezuela
|
Publicado: Lun Jul 21, 2008 4:54 pm Título del mensaje: |
|
|
claro lo tengo hecho hasta el punto de que pide el nombre y el sueldo de los trabajadores y los agrega al vector ya los tengo en el vector pero de ahii me complico..
es mas una pregunta mas facil...como elijo un solo numero del vector??
ejemplo quisiera sumar el primero y el ultimo _________________
DiSeÑo 3d |
|
| Volver arriba |
|
 |
noloweper Conociendo Foroz

Registrado: 24 Jun 2008
Mensajes: 22
|
Publicado: Mie Ago 06, 2008 3:01 pm Título del mensaje: |
|
|
por ejemplo si tu al vector lo llamas: trabajadores.
el vector es de 10 celdas(lo ponemos nosotros) y cada celda consta del nombre del trabajador y del sueldo vale?.
con lo cual cada celda del vector consta de: nombre y sueldo, donde nombre sera cadena(char) y sueldo un numero real( float).
te lo puedes definir como quieras.
pues vien para acceder a la primera posicion del vector en el apartado de sueldo tendremos que poner: trabajadores[0].sueldo y si queremos acceder a la ultima como nuestro vector es de 10 y empezamos a contar desde 0 tendriamos qeu poner trabajadores[9].sueldo .
esto es asi si no tiens hechas clases.
Te recomiendo que a la hora de recorrer el vector hagas un bucle for o un while (un para o un mientras).
ahora no tengo tiempo para hacerte el programa pero si qures escribemelo aqui y cuando tenga tiempo te lo hago.
suerte! y espero que te ayude. _________________
|
|
| Volver arriba |
|
 |
noloweper Conociendo Foroz

Registrado: 24 Jun 2008
Mensajes: 22
|
Publicado: Mie Ago 06, 2008 3:03 pm Título del mensaje: |
|
|
a y si quires sumar el ultimoo; te creas un acumulador y seria asi:
float sumador; //este es nuestro acumulador
//para sumar en sumador hacemos :
sumador=trabajadores[0].sueldo+trabajadores[9].sueldo;
//así sería espero servirte de ayuda. _________________
|
|
| Volver arriba |
|
 |
perezd Yo soy el foro


Registrado: 31 Ene 2007
Mensajes: 2184
Ubicación: Tercer Mundo, Uruguay
|
Publicado: Jue Ago 07, 2008 1:14 am Título del mensaje: |
|
|
Como decian arriba... se elige las pociosiones del vector a ser sumadas...
en este caso si es de 10 posiciones, y se quiere umar la 1era y la ultima se suma la pocision 0 y la 9 poniendola entre [ ] _________________ "El Software es Como el Sexo, Cuando es Gratis, Mejor"
Tutoriales, Guias, Problemas y Dudas sobre GNU/Linux - Foro Linux
|
|
| Volver arriba |
|
 |
esvom Ganador DPS


Registrado: 27 Oct 2005
Mensajes: 1394
Ubicación: Guate.
|
Publicado: Mie Ago 13, 2008 5:48 am Título del mensaje: |
|
|
Que tal mano, espero que todavia te sirva, la semana pasada estuvimos viendo arreglos y matrices, te dejo el codigo de como quedaria:
| Cita: |
#include<stdio.h>
#include<conio.h>
void main()
{
static int sueldo[10];
int sumatoria=0;
int i,j,aux;
clrscr();
/* para ingresar los sueldos y sacar la sumatoria*/
for (i=0;i<10;i++)
{
printf("ingrese sueldo no %d:",i+1);
scanf("%d",&sueldo[i]);
sumatoria=sumatoria+sueldo[i];
}
/* para hallar el menor y el mayor*/
for (i=0; i<=10; i++)
for (j=0; j<10-i; j++)
{
if (sueldo[j]>sueldo[j+1])
{
aux=sueldo[j];
sueldo[j]=sueldo[j+1];
sueldo[j+1]=aux;
}
}
/* desplegando informacion*/
for (i=0;i<10;i++)
{
printf("%d\n",sueldo[i]);
}
float promedio=sumatoria/10;
printf("***************************************\n");
printf("el promedio es: %4.2f",promedio);
getche();
}
|
PD: IDE Borland C++ _________________
Compra la verdad y no la vendas |
|
| Volver arriba |
|
 |
Stratford Nuevo Miembro

Registrado: 12 Ago 2008
Mensajes: 1
|
Publicado: Jue Ago 14, 2008 10:22 am Título del mensaje: |
|
|
Muy facil, te lo pongo por si todavia te sirve:
| Código: |
#include <iostream>
using namespace std;
struct Info{
float sueldo;
string nombre;
};
main(){
float suma=0;
float media=0;
Info vector[10];
int pos_mayor=0, pos_menor=0;
// Leemos los datos desde la consola (por ejemplo),
// sumamos todos los valores y almacenamos el mayor y menor
for(int i=0; i<10; i++){
cout << "Sueldo: ";
cin >> vector[i].sueldo;
cout << "Nombre: ";
cin >> vector[i].nombre;
suma +=vector[i].sueldo;
if(vector[i].sueldo > vector[pos_mayor].sueldo)
pos_mayor = i;
if(vector[i].sueldo < vector[pos_menor].sueldo)
pos_menor = i;
}
media = suma/10.0;
cout << "La media de los sueldos es: " << media;
cout << "El sueldo mayor es de " << vector[pos_mayor].sueldo << " y corresponde a " << vector[pos_mayor].nombre;
cout << "El sueldo menor es de " << vector[pos_menor].sueldo << " y corresponde a " << vector[pos_menor].nombre;
} |
Es una forma rapida y eficiente, ya que todo lo haces en un solo bucle... no necesitas recorrer el vector mas veces... eso hace que el programa sea mas rapido. Si tuvieras que hacer un programa similar te aconsejaria que usaras un vector dinamico, ya que para numeros pequeños no importa trabajar con vectores estaticos, pero para grandes vectores no es recomendable...
Espero que te sirva.  |
|
| Volver arriba |
|
 |
perezd Yo soy el foro


Registrado: 31 Ene 2007
Mensajes: 2184
Ubicación: Tercer Mundo, Uruguay
|
Publicado: Jue Ago 14, 2008 4:42 pm Título del mensaje: |
|
|
Muy lindos los codigos, el de esvom esta mas sencillo ya que no usa estructuras externas como si lo hizo stratford
El de esvom lo que le faltaria es identarlo un poco darle las correspondientes tabulaciones...
Buen aporte y para el autor, cualquiera le servira _________________ "El Software es Como el Sexo, Cuando es Gratis, Mejor"
Tutoriales, Guias, Problemas y Dudas sobre GNU/Linux - Foro Linux
|
|
| Volver arriba |
|
 |
|
|
|