Programación en el lenguaje c++, implementar sentencia lógica

Hola que tal amigos!
Bueno mi duda es la siguiente:
Estoy programando el ordenamiento Burbuja en c++, según leí en internet y en algunos libros hay que poner una sentencia lógica, que me diga si hubo un intercambio o no. Si existe un intercambio que vuelva a entrar y vuelva a comparar, y si no hubo intercambio que el programa pare, siempre y cuando los números estén ordenados y no realize nada, simplemente se vaya directo a imprimir el arreglo.
Me podrían decir cual seria la sentencia lógica, o como implementarla por favor.

1 Respuesta

Respuesta
-1
Tienes parte del código para mostrar para analizar la verdad es que supongo que debes tener una variable de tipo boleano la cual la cambias cada vez que hayas terminado de ordenar para que así la otra vez cuando quiera volver a ordenar el programa que primero verifique el estado de la variable true o false y dependiendo cual elijas para la ya ordenada tu programa te deberá mostrar un mensaje de que ya esta ordenado todo...
Mira mi código es el siguiente:
#include <stdio.h>
#include <conio.h>
main()
{
int nums[10];
int x,j,temp,conta;
clrscr();
conta=0;
for(x=0; x<=9; x++)
{
printf ("Teclea el numero:");
scanf("%d",&nums[x]);
}
getch();
printf ("\n\n Los valores que asignaste fueron: " );
for(x=0; x<=9; x++)
{
printf("\n%d",nums[x]);
}
for (x=0; x<=9; x++)
for (j=0; j<=9-x; j++)
{
conta++;
if (nums[j]>nums[j+1])
{
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
getch();
printf("\n\n El arreglo acomodado es: ");
for(j=0; j<=9; j++)
{
printf("\n %d",nums[j]);
}
printf("conta= %d ",conta);
getch();
return 0;
}
Lo analizare el 23 y te cuento por la tarde creo que tengo un libro que ilustra esos algoritmos pero primero veré que puedo hacer y luego te daré copia de lo que esta en el libro solo que ya me voy

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas