Necesito sus ayudas para poder armar una matriz a partir de un sistema de ecuaciones, cuyos parámetros son ingresados por el usuario. Sólo preciso la matriz.
El sistema de ecuaciones es el siguiente: https://imageshack.com/i/p5jShAlcj
Los parámetros ingresados por el usuario son k y W .
Lo que me interesa es obtener ésta matriz:
k1+k2 -k2 0
-ki ki+ki+1 -ki+1
-kn kn
(Para enésimas k ingresadas)
Eme aquí el código construido (desastroso) hasta ahora:
Código
#include <iostream> #include <cstdlib> using namespace std; const int nb=100; int main() { float D[nb][nb]; int i,j; float m[i][j]; int nbloques; int nresortes; float w[100]; float k[100]; cout<<"-------------------------------------------\n"; cout<<"Bienvenido al sistema vertical masa resorte.\n"; cout<<"Ingrese cantidad de bloques y resortes al sistema:\n"<<endl; do{ cout<<"Cantidad de bloques: "; cin>>nbloques; cout<<"Cantidad de resortes: "; cin>>nresortes; cout<<endl; if((nbloques<nresortes)||(nbloques>nresortes)) { cout<<"RECUERDE: el sist. admite igual cantidad de resortes y bloques.\n"; cout<<endl; cout<<"Vuelva a ingresar los par\xa0metros, por favor: \n"<<endl; }else break; }while(1); cout<<"Pesos (kg) de cada uno de los bloques:"<<endl; for(int i=0; i<nbloques; i++) { cout<<"Bloque "<<i+1<<": "; cin>>w[i]; cout<<endl; } for(int i=0; i<nresortes;i++) { cout<<"Ki del resorte "<<i+1<<": "; cin>>k[i]; cout<<endl; } cout<<"El sistema matricial a resolver:\n"<<endl; //------AQUI COMIENZA EL HORROR for (int i=0; i<(nbloques+1); i++) for (int j=0; j<(nbloques+1); j++) { if(i==0 && j==1) { m[i][j]=-k[0]; } else if((i==0) && (j==nbloques+1)) { m[i][j]=0; } else if((j==0) && (i==nbloques+1)) { m[i][j]=0; } else if(i==j) { m[i][j]=k[j+1]+k[i]; } else { m[i][j]=-k[(j+1)-i]; } } for (int i=0; i<(nbloques+1); i++) for (int j=0; j<(nbloques+1); j++) { cout<<m[i][j]<<endl; } system("pause"); }