Xin lỗi, bạn có thể định nghĩa ma trận vuông đối xứng là ma trận như thế nào không?
Mình học ĐSTT lâu rồi nên quên mất
mọi người chữa giùm em code bài này với em pó tay rùi
C++ Code:
#include<iostream.h> #include<conio.h> #include<iomanip.h> #define N 3 int arr[N][N]; int V[N]; int T=0; //nhap du lieu tu ban phim void keyboardInput() { int i,j; for (i=0; i<N; i++) { for (j=0; j<N; j++) { if (i==j) arr[i][j]=0; else if(j>i) { } else arr[i][j]=arr[j][i]; } } } void output() { int i,j; for (i=0; i<N; i++) { for(j=0; j<N; j++) } } void prim() { //khoi tao int dinh[N]; int d[100]; //int near[100]; int k,s=0; for (k=0; k<N; k++) dinh[N]= k; V[s]= dinh[s]; near[s]= s; for (int v=1; v<N; v++) { d[v]= arr[s][v]; neat[v]=s; } //buoc lap int stop = 0; while (!stop) { //tim khoang cach nho nhat int min = d[0]; for (k=0; k<N; k++) { if (d[k]< min) min = d[k]; } //tim dinh co khoang cach nho nhat k = 0; int u = 0; while(k<N) { if(d[k]==min && d[k]!=0) { u= k; break; } k++; } s++; V[s]= u; T += arr[u][near[u]]; if (s==N) stop =1; else { for (int v= 0; v<N; v++) { if(d[v]> arr[u][v]) { d[v]= arr[u][v]; near[v]=u; } } } } } int main() { keyboardInput(); output(); prim(); getch(); return 0; }
ví dụ khi cho chạy thử chương trình
0 8 7
8 0 9
7 9 0
thì kết quả ra là 15
Vui lòng cho code vào tag code. Đọc Nội quy để biết thêm chi tiết
Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 10-04-2008 lúc 09:27 PM. Lý do: Nhắc nhở hoài
Xin lỗi, bạn có thể định nghĩa ma trận vuông đối xứng là ma trận như thế nào không?
Mình học ĐSTT lâu rồi nên quên mất
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
Why? I dont understand.0 8 7
8 0 9
7 9 0
thì kết quả ra là 15
Hàm này sao bạn không cho j chạy luôn từ i , sau khi nhập một phần tử thì chỉ cần gán cái kia theo nó là xong.Khỏi phải chạy lại, khỏi phải so sánh -> nhẹ nhàng hơn.C++ Code:
---------------------------------
Ui, ui bạn đặt tên biến mình đọc hoa hết cả hai kái mắt lên rùi.C++ Code:
near[s]= s; for (int v=1; v<N; v++) { d[v]= arr[s][v]; neat[v]=s;// cái neat này ở đâu ra vậy }
Bạn giải thích về iu cầu bài tập của bạn và sửa lại code . Sau đó mọi người jup đỡ. Chứ ciểu này thì pótay luôn.
![]()
![]()
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
@: angela
Bạn phải nêu rõ yêu cầu của bài toán là gì ra thì mọi người mới hiểu và giúp bạn được.
Viết một đoạn code tràng giang đại hải thì ai mà biết là mục đích của bài này là gì