Pages

viernes, 25 de enero de 2013

Mostrar artículos ordenados por precio Codigo Fuente en C

Problema
Hacer un programa o algoritmo que permita mostrar artículos de abarrotes ordenados por mayor precio y mostrar los 5 artículos de menor precio.

Solución
  • Entrada: Arroz 29, Papa 15, Azúcar 10, Pan 2, Jabón 5,Harina 16,Leche 45
  • Salida: Leche 45, Arroz 29, Harina 16, Papa 15, Azúcar 10, Jabón 5,  Pan 2
Codigo Fuente en C
#include <stdio.h>
int main(){
        char *aux,*n;
      int w=0,cont=0,tem,t,p,i,j,k;
       printf("ingresa la cantidad de articulos a ingresar\n");
       scanf("%d",&t);
       if(t<6){
        printf("ingrese mas de 6 articulo");
       }else{
       char *Art[t];
       int Pre[t];
       for(i=0;i<t;i++){
           Art[i]="";
           Pre[i]=0;
       }
       while(t>cont){
        n=(char *) malloc(sizeof(char)*10);
       printf("Ingresa articulo\n");
       scanf("%s",n);
       Art[cont]=n;
       printf("Ingresa precio\n");
       scanf("%d",&p);
       Pre[cont]=p;
       cont++;
       }
       while(w!=(t-1)){
           w=0;
           for(k=0;k<(t-1);k++){
           if(Pre[k]>=Pre[k+1]){
           w++;
           }else{
            tem=Pre[k];
            Pre[k]=Pre[k+1];
            Pre[k+1]=tem;
            aux=Art[k];
            Art[k]=Art[k+1];
            Art[k+1]=aux;
           }
           }
       }
       for(j=0;j<t;j++){
           printf("Articulo: %s Precio: %d\n",Art[j],Pre[j]);
       }
       }
      return 0;
}

0 comentarios:

Publicar un comentario