Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Viết code tạo Matran tính định thưc.

  1. #1
    Ngày gia nhập
    11 2010
    Bài viết
    26

    Mặc định Viết code tạo Matran tính định thưc.

    Mấy bác giúp cho kẻ hèn mọn này 1 tẹo.

    1: Viết chương trình in ra màn hình 1 matran cở n*m.
    2: Tính định thức của matran vuông n*n.
    ( với n vs m dc nhập từ bàn phím. )
    các bác cố giúp em. có thêm hướng dẩn và giải thích thì quá tốt.

  2. #2
    Ngày gia nhập
    11 2010
    Bài viết
    26

    có ai vào giúp cho mình 1 tý đi nào ???? mình đang kẹt quá đây

  3. #3
    Ngày gia nhập
    12 2010
    Bài viết
    2

    bạn tự viết code, chô nào không hiểu thì up lên anh em cùng sửa
    PS theo mình nghĩ.
    bài này chỉ áp dụng cho ma trận cấp 3 hoặc 2, chứ ma trận cấp 4 trở đi, đều phải chuyển về ma trận cấp 3 hết :(
    tính tay còn khó. cho vào C còn khó hơn

  4. #4
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nôi
    Bài viết
    464

    Code tính định thức ma trận vuông n*n
    ( Các phân từ nhập từ bàn phím)
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. int k,n,kt;
    5. float b[100][100];
    6. float det;
    7. void tim(int ik)   // Ham tim hang co ptu thu ik khac 0, dua no len thanh hang nhat
    8. {
    9.   int cs,t;
    10.   float tg;
    11.   cs=-1;
    12.   for (k=ik;k<n;k++) if (b[k][ik]!=0)
    13.     {
    14.      cs=k; break;
    15.     }
    16.   if (cs==-1) { kt=0; return;}
    17.   for (t=ik;t<n;t++)
    18.   {
    19.      tg=b[ik][t];
    20.      b[ik][t]=b[cs][t];
    21.      b[cs][t]=tg;
    22.   }
    23. }
    24.  
    25. void nhan(int i1, int i2, float p)  // Ham nhan hang i1 voi p sau do cong vao hang i2
    26. {
    27.   for (k=0;k<n;k++) b[i2][k]=p*b[i1][k]+b[i2][k];
    28. }
    29.  
    30. void biendoi(int ik)   // Ham bien doi tinh dinh thuc lan thu ik
    31. {
    32.   int h;
    33.   for (h=ik+1;h<n;h++) nhan(ik,h,-b[h][ik]/b[ik][ik]);
    34.   det=det*b[ik][ik];
    35. }
    36.  
    37. void main()     // Chuong trinh tinh det
    38. {
    39.   int i,j;
    40.   clrscr();
    41.  
    42.   // Nhap ma tran
    43.   printf(" Nhap cap cua ma tran:");
    44.   scanf("%d",&n);
    45.   for (i=0;i<n;i++)
    46.   for (j=0;j<n;j++)
    47.     {
    48.         printf(" Nhap b[%d][%d]=",i+1,j+1);
    49.         scanf("%f",&b[i][j]);
    50.     }
    51.  
    52.  // In ma tran
    53.  for (i=0;i<n;i++)
    54.   {
    55.         for (j=0;j<n;j++) printf("%5.1f",b[i][j]);
    56.         if (j==n) printf("\n");
    57.   }
    58.  
    59.  // Tinh toan
    60.   det=1; kt=1;
    61.   for (i=0;i<n;i++)
    62.     {
    63.       tim(i);
    64.       if (kt==1) biendoi(i); else { det=0; break; }
    65.     }
    66.   printf(" Dinh thuc cua ma tran la: %8.3f",det);
    67.  
    68.   getch();
    69. }

  5. #5
    Ngày gia nhập
    01 2012
    Bài viết
    8

    Trích dẫn Nguyên bản được gửi bởi dehin Xem bài viết
    Code tính định thức ma trận vuông n*n
    ( Các phân từ nhập từ bàn phím)
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. int k,n,kt;
    5. float b[100][100];
    6. float det;
    7. void tim(int ik)   // Ham tim hang co ptu thu ik khac 0, dua no len thanh hang nhat
    8. {
    9.   int cs,t;
    10.   float tg;
    11.   cs=-1;
    12.   for (k=ik;k<n;k++) if (b[k][ik]!=0)
    13.     {
    14.      cs=k; break;
    15.     }
    16.   if (cs==-1) { kt=0; return;}
    17.   for (t=ik;t<n;t++)
    18.   {
    19.      tg=b[ik][t];
    20.      b[ik][t]=b[cs][t];
    21.      b[cs][t]=tg;
    22.   }
    23. }
    24.  
    25. void nhan(int i1, int i2, float p)  // Ham nhan hang i1 voi p sau do cong vao hang i2
    26. {
    27.   for (k=0;k<n;k++) b[i2][k]=p*b[i1][k]+b[i2][k];
    28. }
    29.  
    30. void biendoi(int ik)   // Ham bien doi tinh dinh thuc lan thu ik
    31. {
    32.   int h;
    33.   for (h=ik+1;h<n;h++) nhan(ik,h,-b[h][ik]/b[ik][ik]);
    34.   det=det*b[ik][ik];
    35. }
    36.  
    37. void main()     // Chuong trinh tinh det
    38. {
    39.   int i,j;
    40.   clrscr();
    41.  
    42.   // Nhap ma tran
    43.   printf(" Nhap cap cua ma tran:");
    44.   scanf("%d",&n);
    45.   for (i=0;i<n;i++)
    46.   for (j=0;j<n;j++)
    47.     {
    48.         printf(" Nhap b[%d][%d]=",i+1,j+1);
    49.         scanf("%f",&b[i][j]);
    50.     }
    51.  
    52.  // In ma tran
    53.  for (i=0;i<n;i++)
    54.   {
    55.         for (j=0;j<n;j++) printf("%5.1f",b[i][j]);
    56.         if (j==n) printf("\n");
    57.   }
    58.  
    59.  // Tinh toan
    60.   det=1; kt=1;
    61.   for (i=0;i<n;i++)
    62.     {
    63.       tim(i);
    64.       if (kt==1) biendoi(i); else { det=0; break; }
    65.     }
    66.   printf(" Dinh thuc cua ma tran la: %8.3f",det);
    67.  
    68.   getch();
    69. }
    bài này công nhận là ra kết quả xong kết quả lại có vấn đề về dấu, bạn xem lại đi

Các đề tài tương tự

  1. muốn viết code cho 1 button nằm trong girdview thì viết ở đâu
    Gửi bởi thuan trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 14-09-2011, 01:08 PM
  2. Algorithm Viết code thời khóa biểu viết trên Window Form C# như thế nào?
    Gửi bởi hocphp_1998 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 12-04-2011, 11:10 PM
  3. Viết code trên Form và viết code trong class có gì khác nhau.
    Gửi bởi hocCsharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 21
    Bài viết cuối: 21-01-2011, 10:37 PM
  4. Nhờ tìm lỗi bài lớp Matran thừa kế từ lớp dãy số
    Gửi bởi buitheanhdb trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 14-04-2008, 10:57 PM
  5. [C++] Matran
    Gửi bởi khoale trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 05-06-2007, 11:10 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn