problema codigo ejercicio en c , dudas

Iniciado por vani18, 13 Noviembre 2010, 15:02 PM

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

vani18

hola un programa dice ...

Se desea generar la siguiente estadistica, por cada cliente saber que cantidad de productos comprarón, en el semestre. La cantidad de cliente son 10 codificados entre los numero 30 y 40. Los articulos son 5, y estan codificados entre 1 y 5.


y este es el codigo , las dudas que tengo estan entre el codigo,, entre astericos...(*)


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

main()
{
     int i=0, j=0, k=0, cli, art, mes;
     float totv[10][5][6], impt=0; // totv[cli][art][mes] = Matriz
     // limpiar la matriz totv

*****  1)  lo que hace este for es que limpia la matriz , despues no tiene nada que ver con
lo que esta debajo que carga datos a la variable, solamente recorre la matriz tridimensional
y la limpia en cero,, no???

     for (i=0;i<10;i++)
      for (j=0;j<5;j++)
        for (k=0;k<6;k++)
            {
              totv [j] [k]=0;       
            }

***********

****** 2)aca en el ingreso de datos, solo se asignan datos a las variables, hasta aca, no tiene nada que ver con la matriz, son solo datos comunes que se cargaron a variables....  no??

      // ingreso de datos
      printf("\n Ingresar Cliente: ");
      scanf("%i",&cli);
      printf("\n Ingresar Articulo: ");
      scanf("%i",&art);
      printf("\n Ingresar Mes: ");
      scanf("%i",&mes);
      printf("\n Ingresar Importe: ");
      scanf("%f",&impt);
      // reingreso de datos   

*****************

**********   3) aca  con el while, espera a que el valor ingresado anteriormente, sea distinto de 99, si fuera asi, ingresa adentro para seguir las intrucciones, y relacionar las variables con la matriz...   aca tengo un par de dudas...  si fuera 99 el valor ingresado en cliente, jamas entro a lo que tiene que ver con la matriz...

a)  ¿al entrar es cierto que se puede modificar el valor que tiene una matriz, por que en este caso suma , a la matriz de tridimensional , cambia el valor, como si sumase,  filas o columnas , estonces eso ocurre,, con el valor de imp, respecto a [mes]

b) que quiere decir , que le reste 1. a cada posicion de la matriz , me podrian indicar ejemplos. como queda configurado la matriz, siempre dependiendo de los valores ingresados, o pierde los valores que se le asignaron inicialmente a la matriz tridimensional...?? que fueron...  totv[10][5][6]

c) en que parte se codifica que los clientes sean 10 pero se ingresen, o sean validos , desde 30 a 40 como dice la consigna del programa??

ESTA ES LA PARTE QUE MAS ME CUESTA ENTENDER.
*****************************

     while (cli!=99)
        { totv[cli-1][art-1][mes-1]=totv[cli-1][art-1][mes-1]+impt;
         printf("\n Ingresar Cliente: ");
         scanf("%i",&cli);
         printf("\n Ingresar Articulo: ");
         scanf("%i",&art);
         printf("\n Ingresar Mes: ");
         scanf("%i",&mes);
         printf("\n Ingresar Importe: ");
         scanf("%f",&impt);}

**************************
     for (i=0;i<10;i++)
      {
        printf ("\n Voy a procesar el cliente: %i",i+1);               
        for (j=0;j<5;j++)
          { printf("\n voy a procesar el articulo %i",j+1);
            for (k=0;k<6;k++)
            { printf ("\n el Mes %i tiene un importe de %.2f",k,totv [j] [k]);       
            }
          printf("\n termine el articulo: %i",j+1);         
        }
        printf("\n termine el cliente: %i",i+1);       
        getch();
      }     
getch();     
}


___________________

chau gracias, espero que puedan ayudarme