elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Serie de numeros "compleja"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Serie de numeros "compleja"  (Leído 1,922 veces)
Gunhack

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Serie de numeros "compleja"
« en: 5 Abril 2015, 03:19 am »

Buenas compañeros, he estado rompiéndome la cabeza  :-X es un pequeño ejercicio pareciera muy simple pero al final fue mas de lo que pensé, supongan que tienen un conjunto (dado por el usuario) que consta de 1 hasta n(dato del usuario), la serie va aumentando de uno en uno, y cuando llega al tope de la serie a esta se le "eliminan" los últimos 2 elementos y se le aumenta uno al elemento anterior al tope de la serie así hasta que el primer numero llegue a ser el tope. les adjunto una imagen de ejemplo de como sería si el tope o conjunto fuera 5 ojalá me explique y puedan ayudarme.


 


Código:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>

using namespace std;

main ()
{
    int n,j=0,k=0,l=1;
    cout << "Ingresa el ultimo numero del conjunto: ";
    cin >> n;
    int a[n],o[n];

    for (int i=0;i<n;i++)
    {
        a[i]=i+1;
    }

    while (a[0]!=n+1)
    {
        for (k=0;k<l;k++)
        {
            if (a[k]==n)
            {
                cout << a[k];
                l-=2;
                a[k-1]+=1;
                a[k]=a[k-1];
            }
            else if (a[k]<n)
            {
                cout << a[k];
            }

        }

        if (l<n)
        {
            l++;
        }
        cout << endl;
    }

}

Como ven CASI logro hacerla pero me salen números de más.  :-\



En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Serie de numeros "compleja"
« Respuesta #1 en: 5 Abril 2015, 05:14 am »

Te dejo mi version en ella utilizo vectores que para mi es la forma mas sencilla de resolver el problema saludos

Código
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4.  
  5. int main(){
  6.  
  7.    vector<int> lista;
  8.    int n;
  9.    cout<<"Ingrese el valor maximo"<<endl;
  10.    cin>>n;
  11.  
  12.  
  13.  
  14.    for(int i=1;i<=n;i++){
  15.        lista.push_back(i);
  16.  
  17.        //cout<<lista.size()<<endl;
  18.        for(int j=0;j<lista.size();j++){
  19.            cout<<lista[j]<<" ";
  20.        }
  21.        cout<<endl;
  22.  
  23.    }
  24.  
  25.    while(lista[0]!=n){
  26.  
  27.        if(lista.back()==n){
  28.  
  29.            lista.pop_back();
  30.            lista[lista.size()-1]++;
  31.        }
  32.        else{
  33.  
  34.            lista.push_back(lista.back()+1);
  35.        }
  36.  
  37.        for(int i=0;i<lista.size();i++){
  38.  
  39.            cout<<lista[i]<<" ";
  40.        }
  41.        cout<<endl;
  42.  
  43.    }
  44.  
  45. cin.get();
  46. cin.get();
  47. return 0;}
  48.  



En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
Gunhack

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: Serie de numeros "compleja"
« Respuesta #2 en: 5 Abril 2015, 08:27 am »

Te dejo mi version en ella utilizo vectores que para mi es la forma mas sencilla de resolver el problema saludos


Hombre muchisimas gracias! debo decir que no sabía nada sobre vectores (de esa forma), investigue un poco y me ayudo mucho a resolver el problema con arreglos simples dejo el código por si alguien gusta analizarlo.

Código
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5.  
  6. using namespace std;
  7.  
  8. main ()
  9. {
  10.    int n,l=0;
  11.    cout << "Ingresa el ultimo numero del conjunto: ";
  12.    cin >> n;
  13.    int a[n];
  14.    l=n-1;
  15.  
  16.    for (int i=0;i<n;i++)
  17.    {
  18.        a[i]=i+1;
  19.        for (int t=0; t<=i; t++)
  20.        {
  21.            cout<<a[t];
  22.        }
  23.        cout<<endl;
  24.    }
  25.  
  26.    while (a[0]!=n)
  27.    {
  28.        if (a[l]==n)
  29.        {
  30.            l-=1;
  31.            a[l]++;
  32.        }
  33.        else
  34.        {
  35.            l+=1;
  36.            a[l]=a[l-1]+1;
  37.        }
  38.  
  39.        for(int i=0;i<=l;i++)
  40.        {
  41.            cout<<a[i];
  42.        }
  43.  
  44.        cout<<endl;
  45.    }
  46.    getch();
  47.    return 0;
  48. }
  49.  
  50.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines