Pascal/Turbo Pascal - como saber cual es el mes con mayor cantidad de envios.

 
Vista:

como saber cual es el mes con mayor cantidad de envios.

Publicado por hernan gomez (1 intervención) el 25/05/2021 01:42:29
Una empresa de la ciudad de La Plata, que realiza entregas de paquetes dentro del casco
urbano, está interesada en procesar la información de sus paquetes. De cada paquete se conoce la
fecha de envío, si pudo ser entregado al destinatario y la dirección que está compuesta por los
campos: calle (de 1 a 122), número, piso y departamento.
Se dispone de una lista con los envíos del pasado año. Se requiere procesar la lista recorriéndola
una sola vez para INFORMAR EL MES CON MAYOR CANTIDAD DE ENVIOS.
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

como saber cual es el mes con mayor cantidad de envios.

Publicado por ramon (2158 intervenciones) el 12/06/2021 19:09:25
Mira si esto te sirve.

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
program lista;
 uses
   crt;
  type
    direccion = record
            calle : integer;
            numero : integer;
            piso : integer;
            departa : integer;
         end;
 
    lalista = record
         fecha : string[10];
         entrega : boolean;
         direc : direccion;
     end;
 
   const
      max = 100;
      cero : string[1] = '0';
   var
     datos : array[0..max] of lalista;
     tecc, n : char;
     p, conta : integer;
     sal : boolean;
 
    procedure entradatos;
    begin
       writeln;
       write(' Entre Fecha [dia[xx]:mes[xx]:a¤o[xxxx]] : ');
       readln(datos[conta].fecha);
       write(' Entre Entrega [S/N] : ');
       readln(n);
       if (n = 'S') or (n = 's') then
       datos[conta].entrega := true
     else
       datos[conta].entrega := false;
       write(' Entre Calle [1..122] : ');
       readln(datos[conta].direc.calle);
       write(' Entre Numero : ');
       readln(datos[conta].direc.numero);
       write(' Entre Piso : ');
       readln(datos[conta].direc.piso);
       write(' Entre Departamento : ');
       readln(datos[conta].direc.departa);
       conta := conta + 1;
       if conta > max then
       conta := max;
       str((conta - 1),datos[0].fecha);
    end;
 
 
 
    procedure cuenta_entregas_max;
    var
     num, err, h : integer;
     toma : array[1..max] of string[2];
     mes, g, u : integer;
     aut : string[2];
    begin
        val(datos[0].fecha,num,err);
        for h := 1 to num do
        begin
        toma[h] := copy(datos[h].fecha,4,6);
        end;
        for g := 1 to num - 1 do
        begin
           for u := num downto g + 1 do
           begin
              if toma[g] > toma[u] then
              begin
                aut := toma[u];
                toma[u] := toma[g];
                toma[g] := aut;
              end;
            end;
        end;
        aut := toma[1];
        for h := 2 to num do
        begin
           if toma[h] = aut then
           val(aut,mes,err)
          else
           aut := toma[h];
        end;
        writeln(' Elmes Es : ',mes);
    end;
 
 
    begin
       conta := 1;
       clrscr;
       writeln('Entre Datos Max = ',max);
       sal := false;
      repeat
       entradatos;
       writeln(' Mas Entradas [S/N]');
       tecc := upcase(readkey);
       if tecc = 'N' then
       sal := true;
      until sal = true;
       cuenta_entregas_max;
       readkey;
    end.
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