Dev - C++ - Diseñar un algoritmo en lenguaje C++ que ordene un arreglo de 10 números en forma ascendente, y que

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

Diseñar un algoritmo en lenguaje C++ que ordene un arreglo de 10 números en forma ascendente, y que

Publicado por Elizabeth (3 intervenciones) el 18/12/2019 01:01:03
Diseñar un algoritmo en lenguaje C++ que ordene un arreglo de 10 números en forma ascendente, y que de manera secuencial encuentre un número ingresado por el usuario.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
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++

Diseñar un algoritmo en lenguaje C++ que ordene un arreglo de 10 números en forma ascendente, y que

Publicado por Alfil (1444 intervenciones) el 18/12/2019 20:17:22
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 <iostream>
 
using namespace std;
 
const int sz = 10;
 
void leerDatos( int v[] );
void ordenarDatos( int v[] );
void imprimirDatos( const int v[] );
int buscar( const int v[], int valor );
 
int main()
{
    int numeros[sz];
    int buscado, pos;
 
    cout << "\nIntroducir datos:\n";
    leerDatos( numeros );
    ordenarDatos( numeros );
    cout << "\nDatos ordenados: ";
    imprimirDatos( numeros );
 
    cout << "\nNumero a buscar: ";
    cin >> buscado;
 
    pos = buscar( numeros, buscado );
 
    (pos == -1 ? cout << "No encontrado" : cout << "Encontrado en la posicion " << pos);
    cout << endl;
 
    return 0;
}
 
void leerDatos( int v[] )
{
    for( int i = 0; i < sz; i++ ) {
        cout << "(" << i + 1 << "/" << sz << "): ";
        cin >> v[i];
    }
}
 
void ordenarDatos( int v[] )
{
    int valor;
    int j;
 
    for(int i = 1; i < sz; i++) {
        valor = v[i];
        j = i;
        while( j > 0 && valor < v[j-1] ) {
            v[j] = v[j-1];
            j--;
        }
        v[j] = valor;
    }
}
 
void imprimirDatos( const int v[] )
{
    for( int i = 0; i < sz; i++ )
        cout << v [i] << " ";
 
    cout << endl;
}
 
int buscar( const int v[], int buscado )
{
    int pos = 0;
 
    while( pos < sz && v[pos] != buscado ) {
        pos++;
    }
    if (pos >= sz) {
        pos = -1;
    }
    return pos;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar