Hola, disculpen. Necesito hacer un programa en C para que el usuario ingrese una matriz y de ahí poderle aplicar gauss-jordan y sacarle la determinante. El caso es que lo quise hacer lo más general posible, por lo que agarré como modelo a Matlab para la lectura de las entradas (Por ejemplo A=[1 2 3;4 5 6;7 8 9]). Todo parecía ir bien, pero en un momento el programa se queda trabado, es decir ya no corre. Lo revisé barias veces pero no encuentro el error (Lógico supongo). Les dejaré el codigo, espero alguien me pueda ayudar.
*Perdonen ustedes las palabras. jeje
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main()
{
int nr,nc,k,nca,ck,kc;
char e[777];
printf("Hola maldito infeliz, escribe las entradas de la matrix con el formato:\n\na b c;d e f;g h i[...]\nLa matrix aparecera de la siguiente manera:\n\na b c\nd e f\ng h i\n\nPuedes poner las entradas que se te de la puta gana\nIMPORTANTE: Las entradas deben ser valores enteros y NO simbolicos\n");
gets(e);
/*Vamos a sacar el numero de columnas*/
nc=0;
for(k=0;e[k]!=';';k++)
{
if(e[k]!=' ')
{
nc=nc+1;
}
}
printf("\nEl arreglo tiene %d columnas\n", nc);
/*Vamos a sacar el numero de renglones*/
nr=1;
for(k=0;e[k]!='\0';k++)
{
if(e[k]==';')
{
nr=nr+1;
}
}
printf("El arreglo tiene %d renglones\n", nr);
nca=nc*nr;
printf("Numero total de entradas: %d\n\n", nca);
/*(insulto)*/
int decod[nr][nc];
/*Vamos a decodificar la matrz*/
k=0;
for(ck=1;ck<=nr;k++);
{
for(kc=1;kc<=nc;kc++);
{
switch(e[k])
{
case ' ':
kc=kc-1;
break;
case ';':
kc=1;
kc=kc+1;
break;
default:
decod[ck][kc]=e[k];
break;
}
k=k+1;
}
}
printf("%d",decod);
return 0;
}
El código está acomodado de una manera tan burda porque le moví muchas cosas para ver si enconraba entre tanto el error. Además he omitido la parte de la transuesta y gauss-jordan, porque con eso no tengo problema.
Espero que alguien me pueda ayudar, gracias de antemano.