Bueno me marca error En el void :/ , pero no se si estoy haciendo algo mal al insertar el programa, el error de void es en el programa quicksort
#include <conio.h>
void main(){
char op='s';
char a='a';
char continuar='o';
do{
printf("**Bienvenido**\n");
printf("1-Metodos De Ordenamiento\n");
printf("2-Metodos De Busqueda\n");
printf("3 -Salir\n");
scanf("%c", &op);
switch(op){ //este es el switch del menu principal
case '1':
printf("**Metodos De Ordenamiento**\n");
printf("1- Burbuja\n");
printf("2- Quiksort\n");
scanf("%c", &a);
switch(a){ //este es el switch de sub menu de ordenamiento.
case '1':
printf("Burbuja \n"); //aqui llamaria a la funcion burbuja.
break; //despues de cada case debe poner un break.
case '2':
printf("Quiksort \n"); //aqui llamaria a la funcion quilsort
break;
} //aqui termina el switch del sub mmenu de ordenamiento.
break; //aqui termina el case del MENU PRINCIPAL!
case '2':
printf("Busqueda. \n");
//Aqui anida otro sqitch case.
break;
case '3':
printf("Gracias... \n");
continuar = 'S';
break;
default:
printf("Opcion invalida\n");
break;
}
system("pause");
system("cls");
}while(continuar != 's' && continuar != 'S');
}
Y el Quicksort
#include <stdio.h>
#include <stdlib.h>
void swap(int *x,int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
int choose_pivot(int i,int j )
{
return((i+j) /2);
}
void quicksort(int list[],int m,int n)
{
int key,i,j,k;
if( m < n)
{
k = choose_pivot(m,n);
swap(&list[m],&list[k]);
key = list[m];
i = m+1;
j = n;
while(i <= j)
{
while((i <= n) && (list[i] <= key))
i++;
while((j >= m) && (list[j] > key))
j--;
if( i < j)
swap(&list[i],&list[j]);
}
// swap two elements
swap(&list[m],&list[j]);
// recursively sort the lesser list
quicksort(list,m,j-1);
quicksort(list,j+1,n);
}
}
void printlist(int list[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d\t",list[i]);
}
void main()
{
const int MAX_ELEMENTS = 10;
int list[MAX_ELEMENTS];
int i = 0;
// generate random numbers and fill them to the list
for(i = 0; i < MAX_ELEMENTS; i++ ){
list[i] = rand();
}
printf("The list before sorting is:\n");
printlist(list,MAX_ELEMENTS);
// sort the list using quicksort
quicksort(list,0,MAX_ELEMENTS-1);
// print the result
printf("The list after sorting using quicksort algorithm:\n");
printlist(list,MAX_ELEMENTS);
}
Cóloca el código entre las etiquetas, así es dificil de leer, para algo están las etiquetas de código.
Y te da error, porque es int main(), no void main() como incorrectamente se utiliza.
Haz caso y mete el codigo en las etiquetas GeSHi.
Ahi algo que no me entra en la cabeza, se puede saber como has declarado dos veces la función main? :S
Por cierto, quizas tu error es al declarar en los parametros de la funcion "int list[]", eso en C++ creo que es un error, en C no lo es.
Un saludo, y estudia.
Tema cerrado xD :Dya encontre el error gracias :D