[問題]C 程式除錯

看板C_and_CPP作者 (阿弟仔)時間15年前 (2009/05/29 14:23), 編輯推噓6(608)
留言14則, 11人參與, 最新討論串1/1
#include <stdio.h> #include<stdlib.h> void dumpmatrix(int n,int*p){ int i,j; for(j=0;j<n;j++){ for(i=0;i<n;i++) { printf("a[%d,%d]=%d,",j,i,*p++); } printf("\n"); } } int*makematrix(int n,int*m,int col,int*newm){ int i,j; int*p=newm; for(j=n;j<n*n;j+=n) { for(i=0;i<n;++i) { if(i!=col) *p++=*(m+j+i); } } printf("previous matrix\n"); dumpmatrix(n,m); printf("cofactor by %d\n",col); dumpmatrix(n-1,newm); return newm; dumpmatrix(n-1,newm); return newm; } int det(int n,int*m) { int i,mydet; int*newm; if(n==2) return *m * *(m+3) - *(m+1) * *(m+2); for(mydet=i=0;i<n;++i) { if(*(m+i)!=0){ newm=(int*)malloc(sizeof(int)*(n-1)*(n-1)); mydet+=(i&1?-1:1)* *(m+i) * det(n-1,makematrix(n,m,i,newm)); free(newm); } } return mydet; } int determinant(int n,int*m){ int ntotal=n*n; int value,sum; int i,j,k; for(sum=0,i=0;i<ntotal;i+=n) { printf("det %d\n",i); value=1; for(j=0,k=i;j<n;++j,k=(k+n+1)%ntotal) { value=1; for(j=0,k=i;j<n;++j,k=(k+n+1)%ntotal) { value*=*(m+k); printf("*m[%d]=%d, value=%d\n",k,m[k], value); } sum+=value; } for(i=n-1;i<ntotal;i+=n) { printf("det %d\n",i); value=1; for(j=0,k=i;j<n;++j,k=(k+2)%ntotal) { value*=*(m+k); printf("*m[%d]=%d, value=%d\n",k,m[k], value); } sum-=value; } if(sum<0)sum= -sum; return sum; } main(int argc,char*argv[]) { int x[100]; int i; for(i=2;i<argc;++i)x[i-2]=atoi(argv[i]); dumpmatrix(atoi(argv[1]),x); printf("det=%d\n",det(atoi(argv[1]),x)); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.49.245

05/29 14:25, , 1F
直接END...完全不想看 啥說明都沒有
05/29 14:25, 1F

05/29 14:57, , 2F
同樓上
05/29 14:57, 2F

05/29 15:05, , 3F
啊謀賊細蝦咪小朋友呀?...冏
05/29 15:05, 3F

05/29 15:51, , 4F
END
05/29 15:51, 4F

05/29 15:51, , 5F
他可能用devc++寫的,所以他不知道怎麼用它來除錯。
05/29 15:51, 5F

05/29 15:53, , 6F
這個程式可能是「矩陣產生式」…
05/29 15:53, 6F

05/29 15:55, , 7F
微軟的免費VSexpress可以去下載來用,那個除錯很方便的。
05/29 15:55, 7F

05/29 16:24, , 8F
拜託 請描述一下問題 或是編譯器錯誤訊息吧...
05/29 16:24, 8F

05/29 16:25, , 9F
人眼compiler
05/29 16:25, 9F

05/29 16:27, , 10F
以前我們老師上課解釋code都會說 "假設我是compiler"...
05/29 16:27, 10F

05/29 17:31, , 11F
想噓
05/29 17:31, 11F

05/29 18:54, , 12F
假設是compiler那該假設是哪種compiler GCC?
05/29 18:54, 12F

05/29 21:18, , 13F
從來沒用過debugger ...= ="
05/29 21:18, 13F

06/03 22:34, , 14F
改用c++寫吧 c比較不直觀
06/03 22:34, 14F
文章代碼(AID): #1A7tzrr5 (C_and_CPP)