Duda con los array C++

Iniciado por seryioo, 8 Agosto 2015, 11:37 AM

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

seryioo

Buenas, tengo varias dudas manejando arrays, sobre todo al llamarlos en las cabeceras de las funciones o al inicializarlos.
Además, no se cuándo debo usar un array abierto o definir su tamaño.

A continuación dejo parte de un ejercicio en el que me da error ( storage size of 'ar' isn't known|)

Código (csharp) [Seleccionar]

typedef int Tarray [];

void generarConjunto(Tarray ar);  //esta función genera los 100 primeros nºs de un conjunto y los mete en un array.
                                       //Por lo que no se si debería haber definido la dimensión de Tarray como [100]


//-----------------

int main(){
   Tarray ar;  //¿Cuándo pongo los corchetes? En caso de tener que ponerlos,
                  //¿debo definir su tamaño, o el tamaño viene dado al inicializar el tipo Tarray?
                 //He probado a poner corchetes con y sin dimensión y me sale " declaration of 'ar' as multidimensional array must have bounds for all dimensions except the first"

   generarConjunto(ar);

   return 0;
}


Dejo el enunciado del ejercicio, por si os facilita algo:

12) Diseñar un programa que genere y muestre en la pantalla ordenados los 100 primeros
números de un conjunto M definido de la siguiente forma:
i. 1 pertenece a M.
ii. Si x pertenece a M, entonces 2*x+1 y 3*x+1 también pertenecen a M.
iii. Ningún otro número pertenece a M.
El programa deberá producir una salida por pantalla de la forma:
M = {1, 3, 4, 7, 9, 10, ... }*/



Gracias. Siento ser tan repetido en el foro haciendo todo tipo de preguntas.

Orubatosu

Si conoces por adelantado el tamaño de un array ponlo al declararlo.

Si vas a inicializarlo en una función, en lugar de hacer que sea global define el array en el cuerpo del programa y pasalo a la función por referencia

Para la sintaxis te recomiendo siempre que mires aqui:

http://www.cplusplus.com/reference/array/array/

Por ejemplo. En ese sitio tienes toda la documentación

Para almacenar datos, cuando no conocemos inicialmente el tamaño del arry existen otras herramientas, como las listas o los vectores
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998