Arreglos en c++ ejercicios resueltos

  C++ – ordenar por monto de inversión

Mediante programación en C++, desarrollar un programa que mediante arreglos, permita ordenar por monto de inversión.

#include<iostream.h>
#include<conio.h>
#define lim 100
struct producto{
               char codigo[9];
               char articulo[20];
               float precio;
               int cantidad;
               };
void leer(int, struct producto[]);
void ordenar(int, struct producto[]);
void listado(int, struct producto[]);
void main()
{int n;
struct producto pro[lim];
cout<<"Cantidad de articulos:"; cin>>n;
leer(n,pro);
ordenar(n,pro);
cout<<"Orden segun monto de inversion:"<<endl;
listado(n,pro);
getch();
}
void leer(int n, struct producto x[])
{int i;
 for(i=0;i<n;i++)
 {cout<<"Codigo :"; cin>>x[i].codigo;
  cout<<"Nombre :"; cin>>x[i].articulo;
  cout<<"Precio :"; cin>>x[i].precio;
  cout<<"Cantidad:"; cin>>x[i].cantidad;
  }
  getch();
 }
 void ordenar(int n, struct producto x[])
 {int i,j;
 struct producto temp;
  for(i=1;i<n;i++)
   for(j=n-1;j>=i; j--)
   if(x[j-1].cantidad*x[j-1].precio>x[j].cantidad*x[j].precio)
   {temp=x[j-1];
    x[j-1]=x[j];
    x[j]=temp;
    }
  }
  void listado(int n, struct producto x[])
  {int i;
  for(i=0;i<n;i++)
  {cout<<x[i].codigo<<"\t";
   cout<<x[i].articulo<<"\t";
   cout<<x[i].precio<<"\t";
   cout<<x[i].cantidad<<"\t";
   cout<<x[i].precio*x[i].cantidad<<endl;
   }
  }
c++ - ordenar por monto de inversión