problema de lenguaje C

Iniciado por attackers, 14 Julio 2011, 04:46 AM

0 Miembros y 1 Visitante están viendo este tema.

attackers

buenas amigos necesitaba una ayuda de ustedes y es si me podría ayudar hacer un programa en c para poderme guiar que tengo que hacer varios y tener una idea de mas o menos como hacerlo


el enunciado es desarrolle un programa que dimensione una matriz de Nfila por Ncolumna, conociendo  que las columnas son vendedores y que las filas son sus respectivas ventas. calcular el promedio de ventas por vendedor y el promedio total de las ventas

attackers

yo mas o menos hice esto

alguien que me pueda corregir y orientar


#include <stdio.h>
         main ()
         {
             
              int i,columnas,filas,matri[columnas][filas];
             
              printf (" diga el numero de columnas ");
                     scanf("%d",&columnas);
                     
                            printf (" diga el numero de filas ");
                     scanf("%d",&filas);

              dim matri[columnas][filas];
             
             
              }




leogtz

#include <stdio.h>
int main (void)
         {

            int i,columnas,filas;

            printf (" diga el numero de columnas ");
            scanf("%d",&columnas);
            printf (" diga el numero de filas ");
            scanf("%d",&filas);
            int matri[columnas][filas];
            return 0;


            }


Eso funciona, compilando con el estándar C99. De otra manera tendrías que usar un array dinámico o usar constantes para darle dimensión.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

attackers

#3
amigo asi ??'

#include <stdio.h>
        main ()
        {

           int i,j,columnas,filas,ventas;

           printf (" diga el numero de columnas \t ");
           scanf("%d",&columnas);
           printf (" diga el numero de filas \t  ");
           scanf("%d",&filas);
           int matri[columnas][filas];
           
           for (i=1 ; i<=columnas; i++)
           {
               for (j=1 ; j<=filas; j++)  
               {
               printf ("diga su venta \t ");
               scanf ("%d",matri);
           
                                             }
                                             }
           
}


creo que ese ultimo scanf no dberia ir asi si alguien me puede ayudar un poco

Dark Invader

#4
En tu ultimo codigo¿que es lo que quieres conseguir?¿poner el valor segun las columnas y filas y darle un valor?,o simplemente que introduzca un valor y guardarlo en una variable?

Si es el primero es esto:

#include <stdio.h>
        int main ()
         {

            int i,j,columnas,filas,ventas;

            printf (" diga el numero de columnas \t ");
            scanf("%d",&columnas);
            printf (" diga el numero de filas \t  ");
            scanf("%d",&filas);
            int matri[columnas][filas];
           
            for (i=1 ; i<=columnas; i++)
            {
                for (j=1 ; j<=filas; j++) 
                {
                printf ("diga su venta \t %d/%d ",i,j);
                scanf ("%d",&matri[i][j]);
           
                                              }
                                              }
           
}

           


De todas maneras pienso que lo mas comodo seria incrementar el valor de filas y columnas en el for

attackers

#5
ahora lo que estoy buscando es crear una variable que guarde las ventas para asi sacarle el promedio


creo que la manera de sacar el promedio total seria asi si no me equivoco si




#include <stdio.h>
       int main ()
        {

           int i,j,columnas,filas,ventas,promedio;

           printf (" diga el numero de columnas \t ");
           scanf("%d",&columnas);
           printf (" diga el numero de filas \t  ");
           scanf("%d",&filas);
           int matri[columnas][filas];

           for (i=1 ; i<=columnas; i++)
           {
               for (j=1 ; j<=filas; j++)  
               {
               printf ("diga su venta \t %d,%d ",i,j);
               scanf ("%d",&ventas);

                                             }
                                             }
                                             
                                    promedio=(ventas*filas)/100;
                                             
                                             printf ("el promedio de ventas totales son %d ", promedio);

}




rir3760

#6
Cita de: attackers en 15 Julio 2011, 17:05 PMahora lo que estoy buscando es crear una variable que guarde las ventas para asi sacarle el promedio
Tres detalles a tener en consideración en tu programa:

1) Este solo funcionara en compiladores que soporten la nueva característica "arrays de longitud variable", esto es parte de C99 (el viejo estandar C90 no lo soporta).

2) En C los indices de los arrays inician en 0 y terminan en N-1 donde N es el numero de elementos en el array. Tu estas utilizando 1 a N y eso no es correcto (el elemento de indice N no existe).

3) Para obtener el promedio debes sumar cada uno de los valores en un acumulador y al final dividir entre el numero de elementos (filas por columnas).

El programa con esas y otras correcciones es:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  int filas;
  int columnas;
  int i;
  int j;
  int total;
 
  printf("Diga el numero de filas: ");
  fflush(stdout);
  scanf ("%d", &filas);
 
  printf("Diga el numero de columnas: ");
  fflush(stdout);
  scanf ("%d", &columnas);
 
  int mat[filas][columnas];
 
  total = 0;
  for (i = 0; i < filas; i++)
     for (j = 0; j < columnas; j++){
        printf("Indica el valor de mat[%d][%d]: ", i, j);
        fflush(stdout);
        scanf("%d", &mat[i][j]);
       
        total += mat[i][j];
     }
 
  printf("Promedio: %.2f\n", (double) total / (filas * columnas));
 
  return EXIT_SUCCESS;
}


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language