Me presento y me gustaría un ayudita ordenamiento de impares e pares

Iniciado por luis456, 7 Diciembre 2012, 13:50 PM

0 Miembros y 1 Visitante están viendo este tema.

luis456

Hola a todos me llamo Luis y seguro que seré el mas viejo de estos lares jeje tengo 52 años y soy super fanático de todo lo que escrito este, se trasforme en algo,bueno aprendí a programar en Fox pro pero se volvió viejo como yo ,ahora me dio por seguir aprendiendo c++. a demás lo que mas me gusta son las mate y estadísticas por eso mis programas se basan en ello,muchos para hacer claves y cosas de esas.

tengo este código no es mio pero me gustaría saber como modificarlo para que me entregue los resultados como yo le pida al programa de tres de cuatro hasta 6 resultados.

ejemplo yo le meto digamos estos numeros 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15....lo otro es que pueden ser numeros no correlativos y deberá saber cuales son pares o impares,por lo tando recorrer la cadena entre dos no vale jeje

y me entregue los resultados impares ordenados de menor a mayor en el orden que le pedí al principio en este caso en resultados de 6

esto me daría:

impares
1 3 5 7 9 11
1 3 5 7 9 13
1 3 5 7 9 15---> como no hay mas impares aca lo deja y sigue con los pares

2 4 6 8 10 12
2 4 6 8 10 14


el codigo es este



#include <iostream>
#include <algorithm>
using namespace std;

int main () {
   int *numeros, total;
   cout<<"Cuantos numeros desea ingresar?: ";
   cin>>total;
   numeros = new int[total];
   for(int i = 0; i < total; i++){
      cout<<"Ingrese el "<<i+1<<" numero: ";      
      cin>>numeros;
      for(int j = i-1; j >=0 ; j--){
         if(numeros == numeros[j]){
            cout<<"El numero esta repetido ingrese otro\n";
            i--;
            break;
         }
      }
   }
   cout<<"\nResultado\n";
   do {
      
      cout << numeros[1] << " " << numeros[2] << " " << numeros[3] << " " << endl;
              
   } while ( next_permutation (numeros,numeros+total) );
   delete numeros;
   system("pause");
   return 0;
}




De antemano gracias
Luis

Que tu sabiduria no sea motivo de Humillacion para los demas

leosansan

#1
Cita de: luis456 en  7 Diciembre 2012, 13:50 PM
Hola a todos me llamo Luis y seguro que seré el mas viejo de estos lares jeje tengo 52 años y soy super fanático de todo lo que escrito este, se trasforme en algo,bueno aprendí a programar en Fox pro pero se volvió viejo como yo ,ahora me dio por seguir aprendiendo c++. a demás lo que mas me gusta son las mate y estadísticas por eso mis programas se basan en ello,muchos para hacer claves y cosas de esas.

tengo este código no es mio pero me gustaría saber como modificarlo para que me entregue los resultados como yo le pida al programa de tres de cuatro hasta 6 resultados.

ejemplo yo le meto digamos estos numeros 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15....lo otro es que pueden ser numeros no correlativos y deberá saber cuales son pares o impares,por lo tando recorrer la cadena entre dos no vale jeje

y me entregue los resultados impares ordenados de menor a mayor en el orden que le pedí al principio en este caso en resultados de 6

esto me daría:

impares
1 3 5 7 9 11
1 3 5 7 9 13
1 3 5 7 9 15---> como no hay mas impares aca lo deja y sigue con los pares

2 4 6 8 10 12
2 4 6 8 10 14
Amigo Luis te equivocas en que eres el más longevo de estos lares, yo al menos te gano. Y curiosamente coincidimos en lo de ser amantes de las mates. Ya ves que pequeño puede resultar hasta Internet.
Pero a lo que vamos. Sólo llevo unos meses con C y menos, que ya es decir, con C++, por eso me he visto obligado a modificar ligeramente el código que posteas, ya que yo, por mi falta de conocimientos, me veo obligado a declarar los arrays tipo C.
Pero . . . el código que te paso hace lo que quieres para los impares . . . y la de los pares:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdlib>
using namespace std;

int main () {
    int total,i,j,k=0,l=0,ver=0,ver_impar=0,ver_par=0;
    cout<<"Cuantos numeros desea ingresar?: ";
    cin>>total;
    int numeros[total],n_par[total],n_impar[total];
    cout<<"Cuantos numeros desea ver cada vez?: ";
    cin>>ver;
    ver_impar=ver_par=ver;
    for( i = 0; i < total; i++){
        cout<<"Ingrese el "<<i+1<<" numero: ";
        cin >> numeros[i];
        for( j = i-1; j >=0 ; j--){
            if(numeros[i] == numeros[j]){
                cout<<"El numero esta repetido ingrese otro\n";
                i--;
                break;
            }
        }
    }

    for( i = 0; i < total; i++){
         if (numeros[i]%2==0){
            n_par[k]=numeros[i];
            k++;
            }
        else  {
            n_impar[k]=numeros[i];
            l++;
        }
    }
    do{
        for (i=0;i<ver-1;i++){
            cout<< n_impar[i]<<"  ";
        }
        cout<< n_impar[ver_impar-1]<<"  ";
        ver_impar++;
        cout<< endl;
        }while (ver_impar<=l);
    do{
        for (i=0;i<ver-1;i++){
            cout<< n_par[i]<<"  ";
        }
        cout<< n_par[ver_par-1]<<"  ";
        ver_par++;
        cout<< endl;
        }while (ver_par<=k);
    system("pause");
    return 0;
}

Saluditos!.
REEDITADO

luis456

Hola gracias por responder pero algo no camina bien ¿ lo has probado ? ya que ni por asomo hace lo que quiero jejej

quiero poner una captura de pantalla pero no se como hacerlo  >:(

luis

Que tu sabiduria no sea motivo de Humillacion para los demas

leosansan

CitarEntras los numeros: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 y pides salida de 6 y te da:

1 3 5 7 9 11
1 3 5 7 9 13
1 3 5 7 9 15---> como no hay mas impares aca lo deja y sigue con los pares

2 4 6 8 10 12
2 4 6 8 10 14
¡ ¡ ¡ Justo lo que pedías ¡ ¡ ¡ , o al menos lo que pusistes en el post.
Saluditos!.

luis456

Jop no te enojes  ;D  me faltaba una "  { " y no lo veia jejje si funciona  gracias   ;-)


luis
Que tu sabiduria no sea motivo de Humillacion para los demas

leosansan

Si tienes otros !retos! matemáticos no dudes en colgarlos, siempre es un placer "enfrentarse" a ellos.
Saluditos!.

luis456

Cita de: leosansan en  8 Diciembre 2012, 12:14 PM
Si tienes otros !retos! matemáticos no dudes en colgarlos, siempre es un placer "enfrentarse" a ellos.
Saluditos!.



Que si tengo ? jejeje si un millón de ellos y te los haré saber con gusto y muchas gracias por tu ayuda

luis
Que tu sabiduria no sea motivo de Humillacion para los demas