Este programa coloca valores dentro de un arreglo, ordena los valores en orden ascendente, e imprime los resultados del arreglo.
#include <stdio.h> #define TAMANIO 10 void ordenamBurbuja( int * const arreglo, const int tamanio ); /* prototipo */ int main() { /* inicializa el arreglo a */ int a[ TAMANIO ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 }; int i; /* contador */ printf( "Elementos de datos en el orden originaln" ); /* ciclo a través del arreglo a */ for ( i = 0; i < TAMANIO; i++ ) { printf( "%4d", a[ i ] ); } /* fin de for */ ordenamBurbuja( a, TAMANIO ); /* ordena el arreglo */ printf( "nElementos de datos en orden ascendenten" ); /* ciclo a través del arreglo a */ for ( i = 0; i < TAMANIO; i++ ) { printf( "%4d", a[ i ] ); } /* fin de for */ printf( "n" ); return 0; /* indica terminación exitosa */ } /* fin de main */ /* ordena un arreglo de enteros mediante el uso del algoritmo de la burbuja */ void ordenamBurbuja( int * const arreglo, const int tamanio ) { void intercambia( int *ptrElemento1, int *ptrElemento2 ); /* prototipo */ int pasada; /* contador de pasadas */ int j; /* contador de comparaciones */ /* ciclo para controlar las pasadas */ for ( pasada = 0; pasada < tamanio - 1; pasada++ ) { /* ciclo para controla las comparaciones durante cada pasada */ for ( j = 0; j < tamanio - 1; j++ ) { /* intercambia los elementos adyacentes si no están en orden */ if ( arreglo[ j ] > arreglo[ j + 1 ] ) { intercambia( &arreglo[ j ], &arreglo[ j + 1 ] ); } /* fin de if */ } /* fin del for interno */ } /* fin del for externo */ } /* fin de la función ordenamBurbuja */ /* intercambia los valores en las ubicaciones de memoria a los cuales apunta ptrElemento1 y ptrElemento2 */ void intercambia( int *ptrElemento1, int *ptrElemento2 ) { int almacena = *ptrElemento1; *ptrElemento1 = *ptrElemento2; *ptrElemento2 = almacena; } /* fin de la función intercambia */
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C [c]Código en C[/c]
- Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].
De esta manera el código coloreas el código.
Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.
¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)