Dev - C++ - Operaciones con el tipo TVector que representa un array de cinco números enteros

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

Operaciones con el tipo TVector que representa un array de cinco números enteros

Publicado por bartolo (9 intervenciones) el 09/12/2019 12:26:43
Supongamos el tipo TVector que representa un array de cinco números enteros, definido
como sigue:

const int MAX = 5;

typedef array <double, MAX> TVector;

Implemente los siguientes subprogramas:
a) leer(…), que lea desde teclado cinco números introducidos por el usuario y los
almacene en una variable del tipo TVector.
b) escribir(…), que muestre por pantalla los elementos de una variable de tipo
TVector con el siguiente formato: [e1, e2, e3, e4, e5]
c) esta_ordenado(…), que reciba como parámetro de entrada un valor del tipo TVector,
y devuelva true si los elementos del array están ordenados ascendentemente, y false
en otro caso.

Compruebe su correcto funcionamiento con la siguiente función principal:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main()
{
 TVector v1, v2;
 cout << "Datos del primer vector : ";
 leer(v1);
 cout << "Datos del segundo vector: ";
 leer(v2);
 escribir(v1);
 if (esta_ordenado(v1)) {
 cout << " está ordenado.";
 }
 else {
 cout << " no está ordenado.";
 }
 cout << endl;
 escribir(v2);
 if (esta_ordenado(v2)) {
 cout << " está ordenado.";
 }
 else {
 cout << " no está ordenado.";
 }
}

cuya salida será:

Datos del primer vector : 5 45 67 98 100
Datos del segundo vector: 6 50 1 18 27
[5,45,67,98,100] está ordenado.
[6,50,1,18,27] no está ordenado.
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
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Operaciones con el tipo TVector que representa un array de cinco números enteros

Publicado por Thanatos (199 intervenciones) el 09/12/2019 19:48:53
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
#include <cstddef>   // size_t
#include <iostream>
#include <array>
 
using std::array;
using std::cout;
using std::cin;
using std::endl;
using std::size_t;
 
const int MAX = 5;
typedef array<int, MAX> TVector;
 
void leer(TVector &v);
void escribir(const TVector &v);
bool esta_ordenado(const TVector &v);
 
int main() {
    TVector v1, v2;
 
    cout << "Datos del primer vector : ";
    leer(v1);
 
    cout << "Datos del segundo vector: ";
    leer(v2);
 
    escribir(v1);
 
    if (esta_ordenado(v1)) {
        cout << " está ordenado.";
    } else {
        cout << " no está ordenado.";
    }
    cout << endl;
 
    escribir(v2);
 
    if (esta_ordenado(v2)) {
        cout << " está ordenado.";
    } else {
        cout << " no está ordenado.";
    }
 
    return 0;
}
 
void leer(TVector &v) {
    for (size_t i{}; i < MAX; ++i) {
        cin >> v.at(i);
    }
}
 
void escribir(const TVector &v) {
    cout << "[";
 
    for (size_t i{}; i < MAX; ++i) {
        cout << v.at(i);
 
        if (i < MAX - 1) {
            cout << ", ";
        }
    }
 
    cout << "]";
}
 
bool esta_ordenado(const TVector &v) {
    int anterior{v.front()};
 
    for (size_t i{1}; i < MAX; ++i) {
        if (anterior > v.at(i)) {
            return false;
        }
        anterior = v.at(i);
    }
    return true;
}
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