Matrices sin límites?

Estoy teniendo algunos problemas. Escribí un código para encontrar números primos hasta un número, pero por alguna razón, me da el error de que no definí el número de elementos en la matriz que usaré. ¿Es posible tener una matriz donde el número de elementos no sea limitado? Gracias 🙂

#include  #include  #include  #include  using namespace std; int primer(int max); int main() { system("pause"); return 0; primer(1000); } int primer(int max){ int a[]=2; for (int i=2;i<=max;i++){ prime=true; for (int ii=1;ii<=#a;ii++) { if i/a[ii]==math.floor(i/a[ii]) { prime=false; } } if prime==true { a[#a+1]=i; } } for (i=1;i<=#a;i++) { print(a[i]); } } } 

Sí. Utilice un std::vector o std::deque .

¿Qué es este símbolo # que estás usando en todas partes?

Su línea int a[]=2 es incorrecta.

Necesitas especificar qué tan grande será tu matriz. Por ejemplo, int a[100] , o int a[] = {Values here} .

Dicho esto, es probable que desee una matriz de tamaño flexible como la clase vectorial.

El comstackdor necesita saber cuánto espacio asignar y, por lo tanto, requiere que indique cuántos elementos tiene.

Puedes intentar usar el vector STL en lugar de una matriz. Esto le permite agregar tantos elementos como desee, sin declarar el número al principio.

http://www.cplusplus.com/reference/stl/vector/vector/

Siempre está ‘limitado’, aunque solo sea por la cantidad de memoria que puede asignar a la matriz.

Habiendo dicho eso, probablemente estarás bien usando un std::vector .