Dev - C++ - Calcular el valor máximo y el mínimo de los elementos de un vector

 
Vista:
sin imagen de perfil
Val: 43
Ha disminuido su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Calcular el valor máximo y el mínimo de los elementos de un vector

Publicado por bernardo (9 intervenciones) el 30/11/2020 00:09:56
Escriba un programa que calcule el valor máximo y el mínimo de los elementos de un vector de tamaño máximo 20 elementos. Para ello el programa debe realizar lo siguiente:

Pedir al usuario cuantos elementos va a tener el vector (máximo 20 elementos). La entrada debe estar protegida.
Después el programa rellenará el vector de forma automática con elementos generados de manera aleatoria y los mostrará por pantalla.
A continuación, llamará a la función máximo que calcula el máximo de los elementos del vector y lo devuelve a la función principal.
A continuación, llamará a la función mínimo que calcula el mínimo de los elementos del vector y lo devuelve a la función principal.
Por último, imprime por pantalla el valor máximo y mínimo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Calcular el valor máximo y el mínimo de los elementos de un vector

Publicado por Alfil (1270 intervenciones) el 30/11/2020 16:25:01
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int random();
int maximo(int v[], int n);
int minimo(int v[], int n);
void imprimir(int v[], int n);
 
int main()
{
    int n, max, min;
    srand(time(NULL));
 
    do {
        cout << "\nTamanio del vector: "; cin >> n;
 
        if (n < 1 || n > 20)
            cout << "\nDebe estar en el rango de 1 a 20" << endl;
 
    } while (n < 1 || n > 20);
 
    int v[n];
 
    for (int i = 0; i < n; i++)
        v[i] = random();
 
    max = maximo(v, n);
    min = minimo(v, n);
 
    cout << "\nVector: "; imprimir(v, n);
    cout << "\nMaximo: " << max;
    cout << "\nminimo: " << min << endl;
 
    return 0;
}
 
int random()
{
    return rand() % 100 + 1;
}
 
int maximo(int v[], int n)
{
    int max;
 
    for (int i = 0; i < n; i++)
        if (i == 0 || max < v[i])
            max = v[i];
 
    return max;
}
 
int minimo(int v[], int n)
{
    int min;
 
    for (int i = 0; i < n; i++)
        if (i == 0 || min > v[i])
            min = v[i];
 
    return min;
}
 
void imprimir(int v[], int n)
{
    for (int i = 0; i < n; i++)
        cout << v[i] << " ";
}
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
Val: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Calcular el valor máximo y el mínimo de los elementos de un vector

Publicado por Martín (157 intervenciones) el 30/11/2020 22:48:42
1
2
3
int n, max, min;
    // etc ... etc...
     int v[n];

Esto es válido en C pero no es código válido en C++: n debe ser una constante. Puedes buscar "VLA" - Variable Length Array (Array de longitud variable).

Algunos compiladores de C++ lo permiten como extensión al lenguaje https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html

No es portable, no va a funcionar con otros compiladores.
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