Hola, necesito desesperadamente vuestra ayuda.
Se trata de un programa muy simple en C++, lo he revisado mil y una veces, y no veo el fallo. El caso es que creo un array bidimensional, y lo relleno, y al escribir la segunda fila, ésta sobreescribe la primera.
Os pongo el código, listo para pegar, compilar y ejecutar.
#include <iostream.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
int main(){
int numvar=0; //número de variables del problema
int i,j,k; //variables auxiliares para bucles
int numrest=0; //numero de restricciones
float arrayrest[numrest][numvar]; //array de restricciones
do{
cout<<"Introduce el numero de variables:\n";
cin>>numvar;
}while(numvar<=0);
cout<<"\n";
cout<<"Introduce el numero de restricciones o ecuaciones:\n";
cin>>numrest;
for (i=0;i<numrest;i++){
cout<<"Introduccion de la restriccion ";
cout<<i+1;
cout<<":\n";
for (j=0;j<numvar;j++){
cout<<"Introduce el valor de la variable X";
cout<<j+1;
cout<<": ";
cin>>arrayrest[i][j];
}
}
for (i=0;i<numrest;i++){
cout<<"ATENCION !!!!\n";
cout<<"\nLa restricccion ";
cout<<i+1;
cout<<" es: \n";
for (j=0;j<numvar;j++){
if (arrayrest[i][j]<0){
cout<<"";
}
else {
cout<<"+";
}
cout<<arrayrest[i][j];
cout<<"X";
cout<<j+1;
}
cout<<"\n\n";
}
cout<<"La primera posicion del array bidimensional contiene: ";
cout<<arrayrest[0][0];
system ("PAUSE");
return (0);
}
Seguro que es una chorrada, pero estoy loco dándole vueltas y no veo el fallo.
Gracias por vuestra paciencia.