[ Foro de C++ ]
tengo un problema con una actividad pues no consigo que funcione el ordenamiento,
lo que tiene que realizar ese ordenamiento es que la variable matricula se acomode de menor a mayor
ejem: de 3160 pase a 0136.
pero todo cambio que hago solo me marca error.
este seria mi código (c++):
[code]
/*****
desarrollar un programa en c++ con el fin de poder ingresar
datos a una pila, cola o lista y ordenar ascendentemente
como descendentemente (tipos de ordenamientos burbuja, inserción y selección)
en arreglos de "n (muchos)" términos numéricos ingresados por el usuario.
los datos a pedir son:(con estructuras y sub-estructuras)
-matricula.
-nombre.
-correo.
-teléfono.
-cuatrimestre.
-domicilio.
*****/
#include <iostream>
using namespace std;
//declaraciones...
int n, burbuja;
int main ()
{
//solicitud del sistema...
cout << "cuantas personas desea ingresar: " << endl;
cin >> n;
//limpia pantallas...
system ("clear");
//sub estructura...
struct domicilio
{
string calle;
string numero;
string colonia;
};
//
struct datos
{
//declaraciones 2...
int matricula;
string nombre;
string correo;
string telefono;
string cuatrimestre;
string domicilio;
struct domicilio info_domicilio;
} datos [n];
//guardado de datos...
for (int i = 0; i < n; i++)
{
//ingreso de datos...
cout << "agregue los datos de la persona acontinuacion \n" << endl;
//solicitud del sustema 2...
cout << "Matricula: " << "\n -";
cin >> datos [i].matricula;
cout << "Nombre: " << "\n -";
cin >> datos [i].nombre;
cout << "Correo: " << "\n -";
cin >> datos [i].correo;
cout << "Telefono: " << "\n -";
cin >> datos [i].telefono;
cout << "Cuatrimestre: " << "\n -";
cin >> datos [i].cuatrimestre;
cout << "Domicilio: " << "\n -";
cin >> datos [i].domicilio;
//sub-estructuras de domicilio...
cout << "calle: " << "\n -";
cin >> datos [i].info_domicilio.calle;
cout << "numero: " << "\n -";
cin >> datos [i].info_domicilio.numero;
//cout << "colonia: " << "\n -";
//cin >> datos [i].info_domicilio.colonia;
//limpia pantallas...
system ("clear");
//regreso de datos...
for (int i = 0; i < n; i++)
{
//separacion...
cout << "datos de las personas ingresadas: \n" << endl;
//muestra de datos...
cout << "Nombre: " << datos [i].nombre << endl;
cout << "Matricula: "<< datos [i].matricula << endl;
cout << "Correo: " << datos [i].correo << endl;
cout << "Telefono: " << datos [i].telefono << endl;
cout << "Cuatrimestre: " << datos [i].cuatrimestre << endl;
//cout << "Domicilio: " << datos [i].domicilio << endl;
//sub-estructuras de domicilio...
cout << "calle: " << endl;
cout << datos [i].info_domicilio.calle << endl;
cout << "numero: " << endl;
cout << datos [i].info_domicilio.numero << endl;
cout << "colonia: " << endl;
cout << datos [i].info_domicilio.colonia << endl;
}
//declaraciones para operacion...
int a, b, aux;
for (a = 0; a < 5; a++)
{
for (b = 0; b < 5; b++)
{
if (datos [b].matricula > datos [b + 1].matricula)
{
aux = datos [b].matricula;
datos [b] = datos [b + 1];
datos [b + 1] = aux;
}
}
}
for (a = 0; a < 5; a++)
{
//regresa matriula ordenada...
cout << "matricula: " << datos [a].matricula << endl;
}
}
return 0;
}
[code]
hola ke_wi
he separado en programa en funciones y ahora ya ordena la matricula:
https://www.online-ide.com/aZDxBYHeu2
saludos ;-)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)