Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/11/2012, 07:31
Avatar de cronopiomx
cronopiomx
 
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: arreglos dimensionales c++

Hola, el profe te esta pidiendo que pongas en un arrglo 2 tipos de datos distintos, pues para ello puedes usar 2 arreglos dimensionales y trabajarlo en paralelo, los 2 con la misma cantidad de elementos (10) y ir almacenado en la misma posicion de cada arreglo el nombre y la edad correspondiente, esta es una forma de hacerlo pero tienes que crear 2 arreglos.

Otra forma de hacerlo mas eficiente es crear 1 'Struct' o estructura, y crear 1 solo arreglo de esa estructura y por cada posicion de ese arreglo tendras la cantidad de elementos que quieras.

En cuanto al orden, aplica el metodo burbuja como quieras ordenar si por edad o por nombre, y si es DESC o ASC camba el operador '>' ó '<'

mira el codigo, si tienes duda respondeme...
Código:
#include <iostream>
#include <stdio.h>
#include <time.h>
#include <math.h>
using namespace std;

struct Datos
{
   string nombre;
   int edad;
};

int main ()
{
   Datos arreglo[10];
   
   for (int i =0; i < 10; i++)
   {
       cout<<"Inserte Nombre " <<i+1 <<endl;
       cin>> arreglo[i].nombre;
       cout<<"Inserte Edad " <<i+1 <<endl;
       cin>> arreglo[i].edad;       
   }
   
   //ordenar  metodo burbuja por edades   
   int temp = 0;
   for (int i =0; i < 10; i++)
      for (int j =i+1; j < 10; j++)
         if ( arreglo[i].edad < arreglo[j].edad )
         { 
              temp = arreglo[i].edad;
              arreglo[i].edad = arreglo[j].edad;
              arreglo[j].edad = temp;         
         }
         
   //ordenar  metodo burbuja por nombres   
   string temp1 = "";
   for (int i =0; i < 10; i++)
      for (int j =i+1; j < 10; j++)
         if ( arreglo[i].nombre < arreglo[j].nombre )
         { 
              temp1 = arreglo[i].nombre;
              arreglo[i].nombre = arreglo[j].nombre;
              arreglo[j].nombre = temp1;         
         }
   
   for (int i =0; i < 10; i++)
   {
       cout<<i+1<<": Nombre " <<arreglo[i].nombre<<endl;
       cout<<i+1<<": Edad " <<arreglo[i].edad<<endl;
   }   
         
  
  
  system("pause");
  return 0;
}