Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: miguel1912 en 18 Julio 2017, 03:54 AM

Título: Ayuda con un problema en C.
Publicado por: miguel1912 en 18 Julio 2017, 03:54 AM
Buenas, con mucho respeto paso por aqui para preguntar si alguna persona podría ayudarme con este ejercicio.
Se los agradecería muchisimo..

(OJO: no es obligatorio, solo aquel que me quiera ayudar)

Una empresa  tiene las  las ventas de una semana de  5 vendedores por separado.

Utilizar : funciones, arreglos y el método de la burbuja para resolver el problema.

Requiere,  luego del análisis:   

1. Determinar  el mejor vendedor para  otorgarle un bono de 30% de las ventas.

2. Determinar cual fue el peor vendedor.

3. El promedio de ventas  general

4. El  promedio de ventas  por vendedor

5. El  mejor promedio.

6. Imprimir las ventas por cada vendedor(  el arreglo de cada vendedor)

7.El porcentaje de ventas de la empresa en  la semana.
Título: Re: Ayuda con un problema en C.
Publicado por: engel lex en 18 Julio 2017, 04:37 AM
no se hacen tareas, se resuelven dudas... muestra lo que llevas e indica que no sabes
Título: Re: Ayuda con un problema en C.
Publicado por: miguel1912 en 18 Julio 2017, 04:52 AM
Esto es lo que llevo:

/* Una empresa  tiene las  las ventas de una semana de  5 vendedores por separado.

Utilizar : funciones, arreglos y el método de la burbuja para resolver el problema.

Requiere,  luego del análisis:  

1. Determinar  el mejor vendedor para  otorgarle un bono de 30% de las ventas.

2. Determinar cual fue el peor vendedor.

3. El promedio de ventas  general

4. El  promedio de ventas  por vendedor

5. El  mejor promedio.

6. Imprimir las ventas por cada vendedor(  el arreglo de cada vendedor)

7.El porcentaje de ventas de la empresa en  la semana. */

// *------------------------------------------------------------------------------*
// *-------------------------- Código --------------------------------------------*
// *------------------------------------------------------------------------------*
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int mejorvendedor(int vendedor)
{
 int i,j,ax;
 int ventas[5];  
 
  for (i=0;i<5;i++){
      for (j=0;j<5;j++){
          if(ventas[j]>ventas[j+1])
          {
          ax = ventas[j];
          ventas[j] = ventas[j+1];
          ventas[j+1] = ax;
          }//cierra if
        }  //cierra for
      }    //cierra for
      for (i=0;i<5;i++){
      printf ("%d", & ventas[i]);
      }
      return ventas[i];
      }//cierra función      
 
main()
{
int i,j,ax,vendedor;
int ventas[5];
for (i=1;i<=5;i++)
{
    printf ("Ingrese la cantidad de ventas del vendedor%d\n", i);
    scanf ("%d", & ventas[i]);
    }  
int mejorvendedor(int vendedor);
printf ("La mayor venta es:%d", ventas[i]);
 getch();
 return 0;
}


lo que tengo duda es que el metodo burbuja no me ordena la array, quisiera saber como haría para que cuando ingrese la cantidad de ventas se guarden en la array para aplicar dicho método e imprimir cual es el mayor.
Título: Re: Ayuda con un problema en C.
Publicado por: engel lex en 18 Julio 2017, 05:10 AM
recuerdate y metete esto en el disco XD

los array empiezan en 0



for (i=0;i<5;i++){
       for (j=0;j<5;j++){
           if(ventas[j]>ventas[j+1])

eso te va a crear un desborde... cuando j sea 4, j+1 será 5, causando que se intente acceder a memoria prohibida (causando un segmentation fault)




Código (c,10) [Seleccionar]
main()
{
int i,j,ax,vendedor;
int ventas[5];
for (i=1;i<=5;i++)
{
     printf ("Ingrese la cantidad de ventas del vendedor%d\n", i);
     scanf ("%d", & ventas[i]);
     } 
int mejorvendedor(int vendedor);
printf ("La mayor venta es:%d", ventas[i]);
  getch();
  return 0;
}


la linea 10 es un error, no estás declarando



por ultimo para pasar el array, se pasa por puntero... te recomiendo buscar en google ejemplos de como pasar array como parametro de función