Página 1 de 1

problema con arreglos en c++

Nuevo mensajePublicado: 01 Dic 2008 04:09
por marth
antes que nada hola a todos que alegria que el foro este de vuelta :banana: mi problema es que tengo que realizar:

"un programa que lea u arreglo tamaño 10 llamado A de tipo entero y que lo ordene de menor a mayor y lo muestre"

Entonces quisiera que me dijeran como puedo hacerlo ya que aunque tengo una idea no logro concretarla.

Hasta ahora he hecho lo siguiente en devc++ pero eso porque el maestro lo puso, sin embargo no logro entenderlo del todo, ademas de que el programa no funciona como deberia:

#include "iostream.h"
int main (void)
{
int i, apo, A[10];
cout<< "ARREGLO DE MENOR A MAYOR";
//LEER EL ARREGLO
for (i=0; i<=9; i=i+1)
{
cout<< "\nDato para A [" <<i<< "]=";
cin>> A;
}
for (i=1; i<=9; i=i+1)
{
for(i=0;i<=8;i=i+1)
{
while (A> A[i+i])
{//invirtiendo arreglo
apo=A;
A=A[i+i];
A[i+i]=apo;}
}
}
for(i=0;i<=9;i=i+1)

{cout<< "\nA["<<i<<"]=" <<A;}
//pausa
cin>>i;
}

pd: tambien si no es mucha molestia me gustaria que me pasaran algun link en el que pueda encontrar mas ejercicios de arreglos

SALUDOS 8-)

Re: problema con arreglos en c++

Nuevo mensajePublicado: 01 Dic 2008 13:25
por Peaso
Saludos, marth.

Lo primero, decirte que hay una etiqueta de los foros para escribir código (etiquetas code). El tuyo quedaría así:

Código: Seleccionar todo
#include "iostream.h"
int main (void)
{
  int i, apo, A[10];
  cout<< "ARREGLO DE MENOR A MAYOR";
  //LEER EL ARREGLO
  for (i=0; i<=9; i=i+1)
  {
    cout<< "\nDato para A [" <<i<< "]=";
    cin>> A;
  }
  for (i=1; i<=9; i=i+1)
  {
    for(i=0;i<=8;i=i+1)
    {
      while (A> A[i+i])
      {//invirtiendo arreglo
        apo=A;
        A=A[i+i];
        A[i+i]=apo;
      }
    }
  }
  for(i=0;i<=9;i=i+1)
  {
    cout<< "\nA["<<i<<"]=" <<A;
  }
  //pausa
  cin>>i;
}


Cuando hablas de "arreglos" te refieres a vectores, verdad? No consigo entender cómo ordena el vector tu código, pero han de existir multitud de algoritmos de ordenación de vectores. Intentaré tener un ratito para ponerte alguno de los típicos.

Re: problema con arreglos en c++

Nuevo mensajePublicado: 04 Dic 2008 22:09
por Phoenix
Entiendo esto, precisamente yo hago ejercicios similares en clase de fundamentos de la programacion, y como dice peaso, aqui a los arreglos los llamamos vectores o arrays. Me pondre a intentarlo a ver si consigo darte la solucion ;)
EDITADO
No me di cuenta de que pusiste c++, lo que a nosotros nos enseñan es c, y tambien usamos el devc++... bueno en realidad nos recomiendo hacerlo en linux con el scite, pero yo prefiero en el otro jeje. De todas maneras mañana preguntare a mi profesor a ver si me explica como hacerlo en c++ ;)

Re: problema con arreglos en c++

Nuevo mensajePublicado: 14 Dic 2008 20:20
por Vares
Aqui lo tienes, el algoritmo se llama algoritmo de la burbuja


Código: Seleccionar todo
#include <stdio.h>
#include <conio.h> #include <stdlib.h>
#define TAM 10
void main(){
int a[TAM], temp, i, j;
clrscr();
randomize(); //Inicializa el generador de numeros aleatorios
printf ("Llenando arreglo con números aleatorios\n");

for (i=0; i< TAM; i++) a[i]=random(100);

//Implementacion de Ordenamiento por burbuja de mayor a menor
for (j=1; j <= TAM; j++)
for (i=0; i< TAM-1; i++)
if (a[i] < a[i+1]){
temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; }

printf ("\nArreglo ordenado\n");

for (i=0; i< TAM; i++) printf ("a[%d] = %d\n", i, a[i]);
getch(); }


Editado por Peaso para añadir las etiquetas "code" (con tu permiso!)

Re: problema con arreglos en c++

Nuevo mensajePublicado: 16 Dic 2008 23:54
por marth
OK, gracias Vares ahorita lo pruebo haber que tal me funciona

Gracias 8-)