/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Ayuda Soy Principiante en C y tengo duda con arreglos!

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Lycoris



Registrado: 10 Oct 2007
Mensajes: 2

MensajePublicado: 10/10/2007 5:15 pm
Título: Ayuda Soy Principiante en C y tengo duda con arreglos!

Hola!!.

Bueno hace algunos dias estoy conociendo el lenguaje C y he ido practicando a travez de manuales, ahora estoy en arreglos pero al hacer el ejercicio que el manual me ha planteado no he podido lograr sacar la logica del problema.

Porfavor le pido a ustedes que me ayuden para entender mas sobre los arreglos en C seria de una gran ayuda.

Bueno el Problema es :

Desarrolle un programa que permita registrar los Costos por mantenciones de computadores para ellos usted debe ingresar 5 costos con la especificación de que tipo de mantención es:
Mantención de Limpieza (opción 1), Mantención Reparación (opción 2), recuperación de información (opción 3).

Se pide que:
El promedio de Costos de cada tipo de Mantención.
El Promedio mas alto de Costos.


El Codigo que realize solo llege al if, osea desde ahi ya no entiendo como buscar el promedio mas alto.

Cita:

#include <stdio.h>
#include <conio.h>

int main(){

int costos[5], mantencion[5], i,t, acumulador=0;

for(i=0; i<5; i++){

printf("\n Ingrese Costo de Mantencion %i: ", (i+1));
scanf("%d",&costos[i]);

acumulador = acumulador + costos[i];

printf("\n 1.- Mantencion de Limpieza");
printf("\n 2.- Mantencion de Reparacion");
printf("\n 3.- Recuperacion de Informacion");
printf("\n OPCION: ");
scanf("%d",&mantencion[i]);

}

for(t=0; t<5; t++){

printf("\n Costo de Mantencion %i ", (t+1));
printf("\n %i ", costos[t]);
getch();
}
printf("\n Promedio Final de Costos %i", acumulador);

for(i=1; i<5; i++){


if(costos[0] > costos[i]){

printf("\n Costo mas Alto es %i ", costos[0]);
i=5; // Termina el ciclo
}



}

getch();
return 0;

}


Espero su Ayuda.!!! Very Happy
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3588
Ubicación: Mexico

MensajePublicado: 11/10/2007 9:36 am
Título:

Para obtener los promedios lo mas sencillo es recorrer los arrays tres veces (una vez por cada uno de los tipos) calculando el total acumulado y el numero de operaciones. Al final de cada iteracion almacenarias la division del total entre el numero de operaciones en un nuevo array donde se guardaria este resultado (el promedio).

Seria mas o menos asi:
Código:
/* ... */

double promedio[3] = {0.0};
int total;
int num_ops;

/* ... */

/* Procesar por cada uno de tipos de mantencion */
for (i = 0; i < 3; i++){
   
   total = 0;
   num_ops = 0;
   
   /* Procesar cada uno las operaciones */
   for (j = 0; j < 5; j++){
      /* Si la mantencion es la buscada ... */
      if (mantencion[j] == i + 1){
         /* ... actualizar los contadores */
         total += costos[j];
         num_ops++;
      }
   }
   
   /* Calcular el promedio y guardarlo en el array */
   if (num_ops > 0)
      promedio[i] = (double) total / num_ops;
}

/* ... */


Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com