Pascal/Turbo Pascal - Hallar el valor máximo de un array

 
Vista:

Hallar el valor máximo de un array

Publicado por Marshall (1 intervención) el 13/12/2019 16:25:20
Escribe un programa tal que:

Genere N números reales aleatorios mayores o iguales que 0 y menores que Valor_maximo, donde N será una constante global y Valor_maximo será una constantes local del cuerpo del programa principal. Dale a estas constantes el valor que quieras.

Guarde los resultados en un array.

Muestre todos los valores almacenados en el array.

Muestre todos los valores del array, en orden inverso.

Calcule (y muestre) la suma, la media, el máximo y el mínimo de los valores del array.

Muestre solamente los valores del array mayores o iguales que K * valor_maximo, donde K será un número real mayor que 0 y menor o igual que 1.

Ejemplo: si K = 0.9 y el máximo es 1000, se mostrarán los valores mayores o iguales a 900.

K será una constante local del cuerpo del programa principal. Si no se cumple la precondición de ser mayor que 0 y menor o igual a 1, el programa mostrará un mensaje y finalizará.

¿Alguien me puede decir cómo se halla el máximo y el mínimo?
Gracias de antemano
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

Hallar el valor máximo de un array

Publicado por anonymous (4 intervenciones) el 13/01/2020 19:39:35
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
Uses CRT;
 
const
  TOPE = 10;
 
 
Type
  TipoVector = Array [1..TOPE] of integer;
 
VAR
  I, MAYOR, MENOR, POSI, Suma : INTEGER;
  VECTOR : TipoVector;
  K: Real;
  Maximo: Real;
 
begin
   Randomize;
   {Llenamos el vector}
   For i:=1 to tope do
     begin
          VECTOR[i]:=random(100)+1;
     end;
 
  Writeln('Muestre todos los valores almacenados en el array.');
        For i:=1 to tope do
        begin
              Writeln(VECTOR[i]);
        end;
  Writeln('Muestre todos los valores del array, en orden inverso.');
  For i := tope downto 1 do
  begin
       write(VECTOR[i], ' ');
  end;
 
 
  {Ahora calculamos la Suma}
   Suma:=0;
   For i := tope downto 1 do
   begin
        Suma:= Suma+ VECTOR[1];
   end;
   Writeln();
   Writeln('Calculo de la suma es: ',Suma);
   Writeln();
   Writeln('Calculo de la media es: ',Suma/tope);
 
  {Ahora buscamos el mayor}
   MAYOR := VECTOR[1];
   POSI:=1;
   For i:=2 to TOPE do
        if VECTOR[i]>MAYOR then
           begin
             MAYOR:=VECTOR[i];
             POSI:=i;
          end;
  Writeln('El mayor elemento del vector es: ',MAYOR,' en la posici¢n ',POSI);
 
  {Ahora buscamos el mayor}
   MENOR := VECTOR[1];
   POSI:=1;
   For i:=2 to TOPE do
        if VECTOR[i]<MENOR then
           begin
             MENOR:=VECTOR[i];
             POSI:=i;
          end;
  Writeln('El menor elemento del vector es: ',MENOR,' en la posici¢n ',POSI);
 
  {valores del array mayores o iguales que K * Maximo}
   Writeln('Muestre solamente los valores del array mayores o iguales que K*valor_maximo, con k=0,9.');
   K:= 0.9;
   Maximo:= MAYOR;
   Maximo:=Maximo*K;
   POSI:=1;
   For i:=1 to TOPE do
        if VECTOR[i]>Maximo then
           begin
                Writeln(VECTOR[i]);
          end;
 
 
  readln;
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