ayuda acompletar este codigo
el problema es que genero un lista alearotia con random pero al generar la lista solo me regresa el ultimo numero por que no se como retornar un arreglo de antemano gracias
elemento lista(){
int i,a[MAX],n,l;
l=a[0];
p("\nELEMENTOS A ORDENAR: ");
s("%d",&n);
fflush(stdin);
for (i=0;i<n;i++){
a[i]=rand();
p("%d ",a[i]);
l=a[i];
}
getchar();
p("%d ",l);
getchar();
return l;
}
void burbuja(int a[], int n){
int i,j,aux;
for(i=2;i<n;i++){
for (j=n;j>=i;j--){
if( a[j-1] > a[j] ){
aux = a[j-1];
a[j-1] = a[j];
a[j] = aux;
}
}
}
}
void imprime(elemento a[],int n){
int i;
for ( i=0 ; i<n ; i++){
p("%i\n,",a[i]);
}
}
void main(){
int opc,n,l1[MAX],l2[MAX],i;
clrscr();
do{
p("\t\t********MENU*********");
p("\n1) BURBUJA \n2) INSERCION DIRECTA \n3) SELECCION DIRECTA \n4) SHELL");
p("\n5) QUICK SORT \n6) MEZCLA \n7)SALIR");
p("\t\t\t TU OPCION ES: ");
s("%i",&opc);
fflush(stdin);
switch(opc){
case 1 : p("\nBURBUJA.....\n");
l1[i]=lista();
burbuja(l1,n);
p("\nLISTA ORDENADA\n");
imprime(l1,n);
break;
es todo lo que llevo y no marca errores
elemento lista(){
int i,a[MAX],n,l;
l=a[0];
p("\nELEMENTOS A ORDENAR: ");
s("%d",&n);
fflush(stdin);
for (i=0;i<n;i++){
a[i]=rand();
p("%d ",a[i]);
l=a[i];
}
getchar();
p("%d ",l);
getchar();
return l;
}
void burbuja(int a[], int n){
int i,j,aux;
for(i=2;i<n;i++){
for (j=n;j>=i;j--){
if( a[j-1] > a[j] ){
aux = a[j-1];
a[j-1] = a[j];
a[j] = aux;
}
}
}
}
void imprime(elemento a[],int n){
int i;
for ( i=0 ; i<n ; i++){
p("%i\n,",a[i]);
}
}
void main(){
int opc,n,l1[MAX],l2[MAX],i;
clrscr();
do{
p("\t\t********MENU*********");
p("\n1) BURBUJA \n2) INSERCION DIRECTA \n3) SELECCION DIRECTA \n4) SHELL");
p("\n5) QUICK SORT \n6) MEZCLA \n7)SALIR");
p("\t\t\t TU OPCION ES: ");
s("%i",&opc);
fflush(stdin);
switch(opc){
case 1 : p("\nBURBUJA.....\n");
l1[i]=lista();
burbuja(l1,n);
p("\nLISTA ORDENADA\n");
imprime(l1,n);
break;
es todo lo que llevo y no marca errores
Te envio una parte del programa, donde se genera toda la lista aleatoria y tambien puedes ver el resultado en la pantalla.
El resto lo dejo a tu cargo.
El resto lo dejo a tu cargo.
Aqui esta el programa:
// program test.cpp
// origina una lista aleatoria
// written in Borland C++, ver 4.5
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
const int MAX = 12;
void lista(int a[],int n)
{
randomize();
for (int i=0;i<n;i++)
a[i]=random(100);
}
void imprime(int a[],int n)
{
int i;
for (i=0 ; i<n ; i++)
printf("%6d",a[i]);
puts(" ");
}
void main()
{
int a[MAX];
lista(a,MAX);
imprime(a,MAX);
}
// program test.cpp
// origina una lista aleatoria
// written in Borland C++, ver 4.5
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
const int MAX = 12;
void lista(int a[],int n)
{
randomize();
for (int i=0;i<n;i++)
a[i]=random(100);
}
void imprime(int a[],int n)
{
int i;
for (i=0 ; i<n ; i++)
printf("%6d",a[i]);
puts(" ");
}
void main()
{
int a[MAX];
lista(a,MAX);
imprime(a,MAX);
}
