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 <iostream>
#include <sstream>
using namespace std;
string convertir(int a){
    stringstream buf;
    string res;
    buf<<a;
    res=buf.str();
    return res;
}
int main(){
     string cad="",aux,n;
      int w=0,cont=0,tem,t,p;
       cout<<"ingresa la cantidad de articulos a ingresar"<<endl;
       cin>>t;
       if(t<6){
       cout<<"Ingresa mas de 6 articulos"<<endl;
       }else{
       string Art[t];
       int Pre[t];
       for(int i=0;i<t;i++){
           Art[i]="";
           Pre[i]=0;
       }
       while(t>cont){
       cout<<"Ingresa articulo"<<endl;
       cin>>n;
       Art[cont]=n;
       cout<<"Ingresa precio"<<endl;
       cin>>p;
       Pre[cont]=p;
       cont++;
       }
       while(w!=(t-1)){
           w=0;
           for(int 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(int j=0;j<t;j++){
           cad=cad+"Articulo: "+Art[j]+" Precio: "+convertir(Pre[j])+"\n";
       }
       }
       cout<<cad;
    return 0;
}

0 comentarios:

Publicar un comentario