Autor |
Mensaje |
Facundo Nardone
Nivel 0
Edad: 38
Registrado: 17 Nov 2013
Mensajes: 1
|
|
Buenas estoy tratando de resolver el siguiente ejercicio y no consigo resolver el punto e) del siguiente enunciado
Un supermercado con 10 sucursales de 30 caja cada una procesa constantemente la informacion del monto recaudado por cada caja. La información ingresa del siguiente modo: sucursal (entero de 1 a 10), caja (entero de 1 a 30) y pesos facturados(real con 2 decimales)
a)Ingresr datos
b)imprimir los datos en forma matricial
c) ordenar por sucursal S ingresada por teclado de mayor a menor según monto facturado
d) ordenar por caja c ingresada por teclado de mayor a menor según monto facturado
e) listar sucursal-caja-facturacion para los n (ingresados por teclado) mayores montos recaudados
entiendo que lo que pide el último punto seria determinar los montos mayores identificando de que caja y sucursal vienen y mostrar esa informacion, pero aún no logro expresar esto.
Esto es lo que pude hacer por el momento
PROGRAM B6;
USES CRT;
TYPE
MATRIZ= ARRAY[1..3, 1..3] OF REAL;
VECTOR1= ARRAY[1..3] OF REAL;
VECTOR2= ARRAY[1..3] OF REAL;
VAR
RECAUDACION: MATRIZ;
VCAJAS,MONTOTOTC:VECTOR1;
MONTOTOT,VSUC: VECTOR2;
VRECAUDACION: VECTOR3;
ULTIMO: STRING;
SUC,CAJA,I,J: INTEGER;
AUX,MONTO: REAL;
BEGIN
FOR I:=1 TO 3 DO
FOR J:=1 TO 3 DO
BEGIN
RECAUDACION[I,J]:=0;
END;
WHILE ULTIMO<>'SI' DO
BEGIN
WRITELN('INGRESE NRO DE SUCURSAL (1 A 3)'); READLN(SUC);
WRITELN('INGRESE CAJA(1 A 3)'); READLN(CAJA);
WRITELN('INGRESE MONTO DE LA FACTURA'); READLN(MONTO);
RECAUDACION[CAJA,SUC]:=RECAUDACION[CAJA,SUC]+MONTO;
WRITELN('TERMINO DE INGRESAR LOS DATOS TECLEE SI+INTRO'); READLN(ULTIMO);
END;
FOR CAJA:=1 TO 3 DO
VCAJAS[CAJA]:=0;
FOR CAJA:=1 TO 3 DO
FOR SUC:=1 TO 3 DO
BEGIN
VCAJAS[CAJA]:=VCAJAS[CAJA]+RECAUDACION[CAJA,SUC];
END;
FOR CAJA:=1 TO 3 DO
FOR SUC:=1 TO 3 DO
BEGIN
WRITELN('LA CAJA ', CAJA,' DE LA SUCURSAL ',SUC ,'RECAUDO ',RECAUDACION[CAJA,SUC]);
END;
FOR SUC:=1 TO 3 DO
VSUC[SUC]:= SUC;
FOR SUC:=1 TO 3 DO
FOR CAJA:=1 TO 3 DO
MONTOTOT[SUC]:= MONTOTOT[SUC]+RECAUDACION[CAJA,SUC];
FOR I:=1 TO 2 DO
FOR J:=I+1 TO 3 DO
IF MONTOTOT[I]<MONTOTOT[J] THEN
BEGIN
AUX:=VSUC[I];
VSUC[I]:=VSUC[J];
VSUC[J]:=AUX;
AUX:=MONTOTOT[I];
MONTOTOT[I]:=MONTOTOT[J];
MONTOTOT[J]:=AUX;
END;
WRITELN('LA SUCURSAL DE MAYOR A MENOR POR FACTURACION');
FOR SUC:=1 TO 3 DO
WRITELN('LA SUCURSA ', VSUC[SUC],'FACTURO ',MONTOTOT[SUC]);
FOR CAJA:=1 TO 3 DO
VCAJAS[CAJA]:= CAJA;
FOR CAJA:=1 TO 3 DO
FOR SUC:=1 TO 3 DO
MONTOTOTC[CAJA]:= MONTOTOTC[CAJA]+ RECAUDACION[CAJA,SUC];
FOR I:=1 TO 2 DO
FOR J:=I+1 TO 3 DO
IF MONTOTOTC[I]<MONTOTOTC[J] THEN
BEGIN
AUX:=VCAJAS[I];
VCAJAS[I]:=VCAJAS[J];
VCAJAS[J]:=AUX;
AUX:=MONTOTOTC[I];
MONTOTOTC[I]:=MONTOTOTC[J];
MONTOTOTC[J]:=AUX;
END;
WRITELN('LA CAJA DE MAYOR A MENOR POR FACTURACION:');
FOR CAJA:=1 TO 3 DO
WRITELN('LA CAJA ', VCAJAS[CAJA],'FACTURO ', MONTOTOTC[CAJA]);
READKEY;
END.
|
|
|
|
|
|
|
|
|
|
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|
|
[ Tiempo: 0.2542s ][ Pedidos: 20 (0.2034s) ] |