ayuda

Iniciado por chaarlyyyy, 27 Mayo 2010, 20:58 PM

0 Miembros y 1 Visitante están viendo este tema.

chaarlyyyy

#include<stdio.h>
#include<conio.h>
# define n 10         que significa???

void burbuja(int a[n])
{
int i,j,aux;
for(i=1;i<n;i++)
for(j=0;j<n-1;j++)
{
if(a[j]>a[j+1])
{
aux=a[j];
a[j]=a[j+1];
a[j+1]=aux;
}
}
}

void insercion(int a[n])
{
int i,j,aux;
for(i=1;i<n;i++)
{
j=i;
aux=a;
while(j>0 && aux < a[j-1])
{
a[j]=a[j-1];
j--;
}
a[j]=aux;
}
}

void seleccion(int a[n])
{
int i,j,indicemenor,aux;
for(i=0;i<n-1;i++)
{
indicemenor=i;
for(j=i+1;j<n;j++)
if(a[j]<a[indicemenor])
indicemenor=j;
if(i !=indicemenor)
{
aux=a;
a=a[indicemenor];
a[indicemenor]=aux;
}
}
}


int main()
{
int a[n], Copia[n];
int i;
char op;
for(i=0; i<n; i++)
{
printf("Numero %d = ", i+1);
scanf("%d", &a);
}
for(; ; ) y este for para q sirve aki???
{
clrscr();
printf(" ***METODOS DE ORDENAMIENTO***\n\n");
printf(" 1.- Metodo Burbuja.\n");
printf(" 2.- Metodo Insercion.\n");
printf(" 3.- Metodo Seleccion.\n");
printf(" 4.- Salir.\n");
printf(" \n\nEscoje tu opcion: ");

op = getche();

if(op>='1' && op<='3')
{
for(i=0; i<n; i++)
Copia = a;
}

if(op=='1')
burbuja(Copia);
else if(op=='2')
insercion(Copia);
else if(op=='3')
seleccion(Copia);
else if(op=='4')
break;
else
{
printf("\nOpcion invalida");
getch();
}

if(op>='1' && op<='3')
{
printf("\n\nArreglo original: ");
for(i=0; i<n; i++)
printf("%d ", a);

printf("\nArreglo ordenado: ");
for(i=0; i<n; i++)
printf("%d ", Copia);

getch();
}
}

return 0;
}

@synthesize

for(;;)

Es un bucle for infinito... no declaras nada, no hay condición ni asignación.

# define n 10   

define Es una directiva que, como su nombre indica, sirve para definir cosas... Sobretodo, macros. En este caso, defines n con valor 10.

Littlehorse

define
for(;;)

Usa la etiqueta geshi para poner código, [code=c]codigo[/code]

Saludos!
An expert is a man who has made all the mistakes which can be made, in a very narrow field.