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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Variables "infinitas"
« en: 28 Noviembre 2014, 22:19 pm »

Buenas,

Me estoy iniciando en C++, ya he hecho algún programa y me ha surgido una duda. Imaginemos que quiero hacer un programa para sumar números.

Si quiero sumar dos número, debo declarar dos variables, si quiero sumar tres, debo declarar tres, pero ¿a alguien se le ocurre la forma de hacer que el usuario pueda introducir tantos números como quiera? Por ejemplo, si quiere introducir 100 números, no tener que declarar 100 variables.

Gracias :)


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Variables "infinitas"
« Respuesta #1 en: 28 Noviembre 2014, 22:35 pm »

Existen los array (arreglos)

Quenes como tal una varible de multiples posiciones

Ej
Código
  1. int cantidad = 3;
  2. int arreglo[cantidad];
  3.  
  4. arreglo[0] = 10;
  5. arreglo[1] = 20;
  6. arreglo[2] = arreglo[0] + arreglo[1];
  7.  

Si tienes un arreglo declarado y quieres cambiar el tamaño, es mas complicado


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Orubatosu


Desconectado Desconectado

Mensajes: 2.515


Ver Perfil WWW
Re: Variables "infinitas"
« Respuesta #2 en: 28 Noviembre 2014, 23:05 pm »

Depende de muchas cosas, pero en realidad para sumar muchos números, solo necesitas un par de variables. Una para cada entrada de número, y otra para acumular

Por ejemplo:

Código
  1. int main(){
  2.    int numero;
  3.    int acumulado=0;
  4.    while (cin >> numero){
  5.        acumulado += numero;
  6.    }
  7.    cout << acumulado;
  8. }
  9.  

Así en plan bruto (se puede hacer mucho mejor obviamente) puedes hincharte a meter números... decenas, cientos... la suma va a parar a una variable, y solo usas una para capturar el dato actual.

Si la pregunta es almacenar números, o cualquier otra cosa, como muy bien te han contestado existen varios métodos, el mas usado el array o "arreglo" como también se le llama.

Existen otros tipos, como los vectores, que son básicamente arreglos donde puedes meter datos y el tamaño del mismo va creciendo según las necesidades, y donde teóricamente solo estás limitado a las capacidades de tu máquina. Mientras haya memoria para almacenar números (o lo que sea) el programa "traga".

Generalmente es raro tener que declarar una cantidad enorme de variables. Si pensamos (por ejemplo) en que quieres sacar un calculo de un enorme fichero con cientos, o miles incluso de números (ya almacenado en un archivo) el procedimiento es el mismo... una variable va leyendo números, uno por vez y acumulas, y si los necesitas para alguna otra cosa (por lo que sea) entonces recurres a un arreglo (array), un vector o cualquier otro tipo de contenedor.

Luego hay diferentes maneras de acceder a esto. Puedes pensar en un arreglo como en una cajonera, donde tu dices "quiero un mueble con 10 cajones"... estupendo, tienes un mueble llamado (por ejemplo) "Mueble" (nombre de variable) y que puede contener 10 elementos (ya sean enteros, coma flotante o lo que elijas al crearlo), y luego accedes al mismo como has visto como "Mueble[0], Mueble[1]..."

A medida que vayas avanzando verás que existen incluso otros métodos (literalmente) para hacer eso, que puedes incluso agrupar diferentes tipos de variables en nuevos tipos de variables, que puedes agruparlos en arreglos de tamaño variable y muchas cosas mas, pero poco a poco.


En línea

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998
enol826

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Variables "infinitas"
« Respuesta #3 en: 29 Noviembre 2014, 15:12 pm »

Muchas gracias por vuestra ayuda, ya lo he conseguido :)
En línea

Miky Gonzalez

Desconectado Desconectado

Mensajes: 87

http://mikygonzalez.comule.com/blog/


Ver Perfil WWW
Re: Variables "infinitas"
« Respuesta #4 en: 29 Noviembre 2014, 17:11 pm »

Aunque el problema parece resolvido, podrías incluso hacerlo usando una única variable:

Código
  1. int numero = 0;
  2. while(cin +>> numero) if((cin +>>numero) == 0)break; else continue; // para finalizar poner un numero negatio suficientemente alto.
En línea

Mi blog personal, con información acerca de programación, seguridad, desarrollo y electrónica:


EN CONSTRUCCIÓN
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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