Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   Ayuda con un programa muy simple (http://www.forosdelweb.com/f96/ayuda-con-programa-muy-simple-578786/)

mguerrerop 22/04/2008 12:02

Ayuda con un programa muy simple
 
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.

aloqui 22/04/2008 12:21

Re: Ayuda con un programa muy simple
 
Creo que el problema está en la declaración del array, pues lo declaras con unas variables que tienen valor cero.
O sigues usando un array declararandolo con un tamaño suficiente para los valores introducidos por el usuario, o utilizas memoria dinámica que creas despues de saber el tamaño que necesitas (ésta opción parece la mejor).


La zona horaria es GMT -6. Ahora son las 21:39.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.