Dev - C++ - problema con la ordenacion burbuja

 
Vista:

problema con la ordenacion burbuja

Publicado por alberto (5 intervenciones) el 12/04/2021 10:33:59
Hola, muy buenas a todos. Hoy me paso por este foro porque me he encontrado con un problema de programacion, ya que. Para lo que no sepa que es esto, lo que me pide es un programa que pida 10 datos numericos al usuario y los muestre ordenados de mayor a menor.
Os paso lo que llevo y haber si me podeis echar una mano.
muchas gracias.
Pd: consigo que me pida los numeros pero no me los ordena
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
//Pedir 10 numeros y que el programa los ordene de menor a mayor
#include <iostream>
using namespace std;
 
int main ()
{
int n1, n2, aux, j  ;
int datos[10];
 
for ( n2 = 0; n2 <= 9; n2++)
{
cout << " Escribe el numero " << n2+1 << " de la lista: ";
cin >> datos[n2] ;
}
for (j= 0; j < 9 - n2; j++)
{
if(datos[j] > datos[j + 1])
{
aux=datos[j];
datos[j]=datos[j + 1];
datos[j + 1]=aux;
}
cout << " Lista ordenada " << endl;
cin >> datos[n1];
}
return 0
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
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++

problema con la ordenacion burbuja

Publicado por Alfil (1444 intervenciones) el 12/04/2021 11:02:44
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
#include <iostream>
 
void leerDatos(int v[], int n);
void intercambio(int *a, int *b);
void ordenarBurbuja(int v[], int n);
void imprimir(int v[], int n);
 
int main()
{
    int datos[10];
 
    leerDatos(datos, 10);
    ordenarBurbuja(datos, 10);
 
    std::cout << "\nOrdenados: ";
    imprimir(datos, 10);
 
    return 0;
}
 
void leerDatos(int v[], int n)
{
    for (int i = 0; i < n; i++)
    {
        std::cout << "Numero " << i + 1 << "/" << n << ": ";
        std::cin >> v[i];
    }
}
 
void intercambio(int *a, int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}
 
void ordenarBurbuja(int v[], int n)
{
    for (int i = 0; i < n-1; i++)
    {
        for (int j = 0; j < n-i-1; j++)
        {
            if (v[j] > v[j+1])
                intercambio(&v[j], &v[j+1]);
        }
   }
}
 
void imprimir(int v[], int n)
{
    for( int i = 0; i < n; i++)
        std::cout << v[i] << " ";
 
    std::cout << std::endl;
}
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