[ Foro de C++ ]
Hola buen dia, como puedo hacer para ordenar los datos de mi arreglo? es un trabajo de escuela y es lo único que me falta
#include <iostream>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
//declaracion de la funciones
void AlmacenaDatos();
void ImprimeDatos();
void OrdenaDatos();
void BuscaDatos();
void ModificaDatos();
void EliminaDatos();
int MenuOperaciones();
//declaracion global del arreglo
int A[100]; //declaracion del arreglo con capacidad para 100 elementos
int N=0;
//implemnetacion de la funcion del menu de operaciones
int MenuOperaciones()
{ int Opc=0;
do{ system("cls");
printf("M E N U P R I N C I P A L\n");
printf("1.- Llenar el arreglo de datos \n");
printf("2.- Listar los datos \n");
printf("3.- Ordenar la lista \n");
printf("4.- Buscar un elem en la lista \n");
printf("5.- Eliminar un elem en la lista \n");
printf("6.- Modificar un elem en la lista \n");
printf("7.- Finalizar\n");
printf("Digite una Opcion "); scanf("%d",&Opc);
switch(Opc)
{
case 1: { printf("Para cuantos elemetos ? ");
scanf("%d",&N); //leer el nuero de datos a utilizar
if(N<100) //si ¿n¿ es meor al espacio disponible, se invoca el llenado de datos
AlmacenaDatos();
else //en caso contrario
printf("Espacio insuficiente.."); //imprime advertencia
getch(); //una lectura sin eco
break;
}
case 2: { ImprimeDatos(); getch(); break; }
case 3: { OrdenaDatos(); getch(); break; }
case 4: { BuscaDatos(); getch(); break; }
case 5: { EliminaDatos(); getch(); break; }
case 6: { ModificaDatos(); getch(); break; }
case 7: printf("Hasta la vista..."); getch(); break;
default: printf("Opcion invalida..."); getch(); break;
}
} while(Opc != 7);
return 0;
}
//funciones sin paso de argumentos y sin retornos de datos
void AlmacenaDatos()
{int i=0;
srand(time(NULL));
for(i=1; i<=N; i++)
{ A[i] = 1 + rand() % (101 - 1 );
}
printf("Lista almacenada...");
}
//funcion para enlistar los elementos almacenados en la lisa
void ImprimeDatos()
{ int i=0;
if(N != 0) //si 'N' es diferente de 0, es porque hay datos en la lista
{ for (i=1; i<=N; i++)
//inicia un ciclo con el indice 'i' desde 1 hasta N, donde 'i' incremente de 1 en 1
printf("Los elementos d ela lista son: %d \n",A[i]);
}
else printf("No hay datos en la lisa...");
}
//funcion de busqueda de un elem en la lista
void BuscaDatos()
{ int i=1, valor=0;
bool Encontrado = false;
if(N != 0) //si 'N' es diferente de 0, es porque hay datos en la lista
{ printf("Digite el elemn a buscar ? "); scanf("%d",&valor);
while(i<=N && Encontrado == false)
{
if(valor == A[i])
{Encontrado = true;
printf("El %d fue localizado en la %da. posicion",valor,i);
}
i++;
}
if(Encontrado == false) printf("El elem no existe...");
}
else printf("No hay datos en la lisa...");
}
//complemente las demas funciones
void OrdenaDatos()
{
}
void ModificaDatos()
{ int i=1, valor=0;
bool Modificado = false;
printf("Digite el dato a modificar :"); scanf("%d",&valor);
while(i<=N && Modificado == false)
{ if(valor == A[i])
{printf("El dato se localizo en la %da. Posicion\n",i);
printf("Digite el nuevo valor : "); scanf("%d",&A[i]);
Modificado = true;
}
else i++;
}
if(Modificado == false) printf("El elemento no existe...");
}
void EliminaDatos()
{ int i=1 , valor=0;
bool Eliminado = false;
printf("Digite el dato a Eliminar : "); scanf("%d",&valor);
while(i<=N && Eliminado == false)
{
if(valor == A[i])
{printf("El dato se localizo en la %da. Posicion y fue eliminado",i);
A[i]=0;
Eliminado = true;
}
else i++;
}
if(Eliminado == false) printf("El elemento no existe...");
}
//funcion principal
int main() { MenuOperaciones(); return 0; }
(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.)