Pages

miércoles, 23 de enero de 2013

Insertar n números en un arreglo ordenado Codigo Fuente en C

Problema
Hacer un programa o algoritmo. Se tiene un arreglo "A" donde se encuentra 10 números ordenados en forma ascendente, y se pide que el algoritmo me permita el ingreso de un número y lo coloque en la posición donde debería de estar con respecto al orden del arreglo.

Codigo Fuente en C
#include <stdio.h>
int main(){
     int lista[]={1, 25, 28,31, 56, 98, 132, 195, 282, 502};
     int a,b,j,k,T=0,C=0,tem,w=0;
     for(a=0;a<(sizeof(lista)/sizeof(int));a++){
        printf("%d ",lista[a]);
     }
     printf("\n");
     printf("Ingrese la cantidad de numeros a agregar\n");
     scanf("%d",&C);
     T=C+10;
     int buf[T];
     for(a=0;a<10;a++){
         buf[a]=lista[a];
     }
     printf("%d\n",T);
     for(a=10;a<(T);a++){
        printf("ingresa num\n");
        scanf("%d",&b);
        buf[a]=b;
      }
     printf("\n");
    //ordenamiento burbuja
      while(w!=(T-1)){
         w=0;
         for(k=0;k<(T-1);k++){
             if(buf[k]<=buf[k+1]){
                 w++;
             }else{
                tem=buf[k];
                buf[k]=buf[k+1];
                buf[k+1]=tem;
             }
         }
     }
     //muestra arreglo ordenado
     printf("arreglo ordenado\n");
     for(j=0;j<(T);j++){
        printf("%d ",buf[j]);
     }
   return 0;
}

0 comentarios:

Publicar un comentario