C/Visual C - Ayuda con un algoritmo

 
Vista:
sin imagen de perfil

Ayuda con un algoritmo

Publicado por Paco (3 intervenciones) el 05/12/2014 00:51:25
Hola amigos de tutoriales de programación.

Quisiera saber si ustedes podrían ayudarme a resolver un problema de la materia de «programación en C» que me han encargado en el cole, ya que no se por donde comenzar. El problema se los adjunto en una imagen aquí abajo. Seria magnifico que pudieran ayudarme y enviarme los archivos necesarios para crear y correr el programa a mi correo o subirlos a algún sitio de almacenamiento.

Pd: El lenguaje utilizado para el programa debería ser C.

Gracias.

image
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda con un algoritmo

Publicado por David (4 intervenciones) el 06/12/2014 00:36:28
Debes crear estructuras con vectores.
Primero creas la estructura para los vendedores, luego la esctructura de un departamento con un vector de 4 vendedores, luego otra estructura de sucursales con un vector para los tres departamentos y sinalmente la estructura de la compañia.
Cuando tengas eso, debes crear funciones que recuperen los datos, los procese y los almacene en una matriz.

No es difícil, ánimo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con un algoritmo

Publicado por Chema (234 intervenciones) el 07/12/2014 11:03:41
Por diversión he realizado el ejercicio por, Sucursal, departamento, sección, superficie comercial, vendedor, diasaño.
Si se resolviera usando una matriz resultaría *******Matriz, una matriz de 7 dimensiones, algo sumamente incómodo.

No es necesario matrices dimensionales, ni estructuras, ni listas enlazadas , ni arboles.
Sólo es necesario un poco de lógica y comprensión.

Por Sucursal, departamento vendedor diasaño, se resuelve con esta linea.

id = ( ( (a * b * c) /e ) -1 ) * f ;

Permite agrupaciones tipo SQL ,-fron to-, de cualquier elemento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con un algoritmo

Publicado por Paco (3 intervenciones) el 08/12/2014 03:30:13
Gracias por la ayuda amigos veo que son conocedores del tema, solo que tengo un problema, no entiendo muy bien esto de la programación y me es difícil comprenderlo, necesito si no es mucho pedir, si me pudieran mandar el proyecto ya que no tengo ni idea de que hacer seria mi salvación ENCERIO se los agradecería mucho por favor. Si son tan amables por favor. Gracias y gracias por tomarse la molestia de responderme amigos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con un algoritmo

Publicado por David (4 intervenciones) el 08/12/2014 09:29:03
Para Chema:

Claro que se puede hacer de diferentes maneras, pero creo que el chico está haciendo alguna asignatura tipo "fundamentos de programación" donde solo le piden las estructuras básicas. Yo hice hace años esta asignatura y resolverlo con estructuras es precisamente lo que te piden, para tener claro su funcionamiento.

Para Paco:

NO, no te voy a pasar el código, porque si lo hiciera, te estaría haciendo el ejercicio, te pondrían un aprobado y no sería justo para la gente que se está dejando los codos estudiando y aprendiendo.
Si no eres capaz de hacer este ejercicio, mejor dedícate a otra cosa porque si no te enteras de esto que es lo más básico, no quiero pensar que te pasará cuando empieces con punteros, pipes, semáforos... ¿y qué harás? ¿Pedir también que te lo haga otro? Es una falta de respeto ¿no te parece?

Ya te he dicho como encarar el problema. Si de verdad te gusta la informática, abre el libro de C y hecha las horas que hagan falta como hemos hecho todos.

No sé que harán los demás, pero de mí no recibirás nada más que consejos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con un algoritmo

Publicado por Chema (234 intervenciones) el 08/12/2014 18:16:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*Debes crear estructuras con vectores. */
 
 /*Primero creas la estructura para los vendedores,*/
 
 typedef struct Vendedor{
	 int id_vdd;
 }Vendedor;
 
 /*luego la esctructura de un departamento con un vector de 4 vendedores,*/
 
 typedef struct Departamento{
	 int id_dpt;
	 Vendedor vendedor[4];
}Departamento;
 
/*luego otra estructura de sucursales con un vector para los tres departamentos */
 
typedef struct Sucursal{
	int id_sucursal;
	Departamento dpt[3];
}Sucursal;
 
/*y sinalmente la estructura de la compañia. */
 
typedef struct Conpania{
	int id_conpania;
}Conpania;
 
/*David ¿Y las ventas?, creo que falta la parte principal, algo asi como*/
 
typedef struct Venta{
	int id_vdd;/*vendedor*/
	int id_dpt;/*departamento*/
	int id_sucursal;/*sucursal*/
	int diaano[365];
}
 
/*Cuando tengas eso, debes crear funciones que recuperen los datos, los procese y los almacene en una matriz.*/
 
Me gustaría saber ¿cómo se gestiona esta serie de estructuras en forma de matriz?.
No veo forma fácil de conocer el número de ventas anuales.
David, ¿Podrías mostrarme la manera de gestionar el número de ventas anual?.
 
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con un algoritmo

Publicado por Chema (234 intervenciones) el 08/12/2014 19:42:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*Esta, es la manera en la que resuelvo el ejercicio sin usar estructuras, ni matrices*/
 
#define NDAYS 366
 
/*Sucursal*/
typedef enum {SC_1 = 1, SC_2 = 2, SC_3 = 3}SCS;
 
/*Departamento*/
typedef enum {DP_1 = 10, DP_2 = 20, DP_3 = 30, DP_4 = 40, DP_5 = 50, DP_6 = 60}DPT;
 
/*Vendedor*/
typedef enum {VD_1 = 100, VD_200 = 2,VD_3 = 300, VD_4 = 400}VDV;
 
#define PAGE_INDEX(a, b ,c) ( (( a * b * c) /1000  )-1)  * NDAYS;
 
char *page;
----------------------------------------------------
 
La forma de sumar todas las ventas sería así;
 
DESDE:
/Sucursal 1, depatartamento 1, vendedor 1, desde el 01-01-ano en curso
A = PAGE_INDEX(SC_1, DP_1 ,VD_1 );
 
HASTA
 
Sucursal 3, depatartamento 6, vendedor 4, Hasta el 31-12-ano en curso
B = PAGE_INDEX(SC_3 ,DP_6 ,VD_4 ) + NDAYS;
 
	while ( A < B){
	}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con un algoritmo

Publicado por Paco (3 intervenciones) el 08/12/2014 19:51:17
David: Te entiendo amigo la verdad no seria justo, yo por falta de tiempo, ya que tengo que atender otras ciertas materias buscaba ayuda pero al fin pude liberarme de ellas.
Esta mañana me he puesto a realizar el ejercicio y ya logre mostrar el formato que se me pide, así como lo ven en la imagen adjunta, les compartiré el código, solo que ahora me he bloqueado un poco, necesito consejos para poder hacer la sumatoria de las columnas y las filas para mostrar el total de ventas de cada día por cada vendedor y sumar la venta total de la semana de cada vendedor, serian tan amables de brindarme algún consejo?
PD: Este código que les comparto esta mostrando solo el formato de una sucursal (las demás son iguales).


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[]) {
	int A[6][4][7],ren=6,col=4,hoja=7,r,c,h,id=0,dep=0,suc=1;
	srand(time(NULL));
	//++++++SUCURSAL NUMERO UNO++++++
	for(r=0;r<ren;r++)
	{
		printf("\t\t\t  REPORTE SEMANAL DE VENTAS\n");
		printf("\t\t\t\tSucursal %d\n",suc);
		dep++;
		printf("\t\t\t      Departamento %d\n",dep);
		printf("\t\tLun     Mar     Mie     Jue     Vie     Sab     Dom   Tot\n");
		for(c=0;c<col;c++)
		{
 
			id++;
			printf("Empleado#%d",id);
			for(h=0;h<hoja;h++)
			{
				A[r][c][h]=rand()%1000;
				printf("\t$%d  ",A[r][c][h]);
			}
			printf("\n");
		}
		printf("      Total");
		printf("\n__________________________________________________________________________");
		printf("\n\n");
	}
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar