Foros del Web » Programación para mayores de 30 ;) » C/C++ »

arrays memoria fija

Estas en el tema de arrays memoria fija en el foro de C/C++ en Foros del Web. Hola, me gustaría crear un array con una cantidad de celdas igual al valor de una variable, pero x lo visto no se puede poner ...
  #1 (permalink)  
Antiguo 29/07/2010, 15:27
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
arrays memoria fija

Hola, me gustaría crear un array con una cantidad de celdas igual al valor de una variable, pero x lo visto no se puede poner int vector[varibale]. Alguna idea sin usar memoria dinámica? Ya que siempre querré el mismo número de celdas, nunca variará su tamaño.

un saludo.
  #2 (permalink)  
Antiguo 29/07/2010, 15:47
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: arrays memoria fija

Si nunca variara su tamaño porque no pones el numero directamente??

O la idea es que nunca cambiara el numero a la hora de ejecutar, pero vos lo queres cambiar antes de compilar??
  #3 (permalink)  
Antiguo 29/07/2010, 15:54
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: arrays memoria fija

SI! eso quiero
  #4 (permalink)  
Antiguo 29/07/2010, 15:59
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: arrays memoria fija

AL principio junto con los #include <>, agrega:

#define TAMAÑO 10

luego usas la palabra tamaño como si fuese una variable... pero en realidad antes de compilar se va remplazar por el numero que pusiste,
  #5 (permalink)  
Antiguo 29/07/2010, 16:02
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: arrays memoria fija

El problema es que dicho tamaño, debe ser introducido por el usuario por teclado, y no como una constante :P no hay manera jaja
  #6 (permalink)  
Antiguo 30/07/2010, 16:21
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: arrays memoria fija

usa vectores http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Librer%C3%ADa_Est%C3%A1ndar_de_Plantillas/Vectores
__________________
si tienes entre 18 y 20 años... entonces tienes 19 años xD
  #7 (permalink)  
Antiguo 30/07/2010, 16:33
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: arrays memoria fija

Cita:
Iniciado por Zunri Ver Mensaje
El problema es que dicho tamaño, debe ser introducido por el usuario por teclado, y no como una constante :P no hay manera jaja
Si no quieres utilizar memoria dinamica, y no meterte con el rollo de vectores. Entonces reserva un espacio muy grande para tu vector. Es el método menos eficaz y que mas memoria utiliza y de la manera mas torpe, peroalmenos hace lo que tu quieres sin lidiar con memoria dinamica o vectores.

básicamente dices:
Código C++:
Ver original
  1. #include <iostream>
  2. using namepsace std
  3. int main()
  4. {
  5. int arreglo[100];
  6. cout<<"Numero de posiciones de tu vector: ";
  7. int posiciones=0;
  8. cin>>posiciones;
  9. if(posiciones>100)
  10. {
  11. cout<<"Su numero excede el limite";
  12. }
  13. else
  14. {
  15. for(int i=0;i<=posiciones;i++)
  16. {
  17. cout<<"Introduce valor de la posicion "<<i<<": ";
  18. cin>>arreglo[i];
  19. cout<<endl;
  20. }
  21. }
  22. return 0;
  23. }


El codigo puede tener algunos typos no lo compile, simplemente lo escribi al vuelo, pero debe hacer lo que tu pides.
Basicamente reserva 100 posiciones para tu array, y le pregunta al usuario cuantas quiere utilizar. Si excede de 100, entonces no lo deja continuar. Si es menor a 100, entonces empieza a capturar los datos sobre las posiciones que pidio.
  #8 (permalink)  
Antiguo 30/07/2010, 19:03
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: arrays memoria fija

en c99 puedes hacer eso, por ejemplo:

int funcion(int i)
{
int vector[i];
}

no se si tu compilador soporte c99, gcc y clang si

Etiquetas: arrays, fija, memoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.