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

Đề tài: Tính det của ma trận vuông cấp n nhập từ bàn phím. Sửa giúp mình

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định Tính det của ma trận vuông cấp n nhập từ bàn phím. Sửa giúp mình

    đề bài:tính det của ma trận vuông cấp n nhập từ bàn phím
    mình có code nè

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<dos.h>
    4.  
    5. void in_matran(float (*A)[10],int n);
    6. void matran(float (*A)[10],int n)
    7. {
    8.  int i,j;float trunggian;
    9.   for(i=0;i<n;i++)
    10.    {
    11.     for(j=0;j<n;j++)
    12.      {
    13.       printf("\n nhap A[%d][%d]=",i,j);
    14.        scanf("%d",&trunggian);
    15.         A[i][j]=trunggian;
    16.      }}
    17.           in_matran(A,n);
    18.            }
    19. void in_matran(float (*A)[10],int n)
    20. {
    21.  int i,j;for(i=0;i<n;i++)
    22.   {
    23.    printf("\n %-3c",179);
    24.     for(j=0;j<n;j++)
    25.     {
    26.      printf("8.2f",A[i][j]);
    27.       }
    28.        printf("%3c",179);
    29.     }
    30.      delay(2000);
    31.       }
    32. int chuyen(float (*A)[10],int n,int i)
    33. {
    34.  float j,k,trunggian;
    35.   for(j=i+1;j<n;j++)
    36.    {
    37.    [COLOR="Red"] if(A[j][i])[/COLOR]
    38.      {
    39.       for(k=0;k<n;k++)
    40.        {
    41.     trunggian=A[i][k];A[i][k]=A[j][k];
    42.      A[j][k]=trunggian;
    43.       }
    44.        return(1);
    45.         }}
    46.          return(0);
    47.           }
    48. float det_matran(float (*A)[10],int n)
    49. {
    50.  float D=1,p,x;int i,j,k;
    51.   for(i=0;i<n;i++)
    52.   {
    53.    if(A[i][i]==0)
    54.    {
    55.     if(chuyen(A,n,i)==0)
    56.     {
    57.      printf("\n Dinh thuc D=0");
    58.       delay(2000);
    59.        return(0);
    60.     }
    61.      else D=-D;
    62.       }
    63.        for(j=i+1;j<n;j++)
    64.         {
    65.          x=A[j][i]/A[i][i];
    66.           for(k=0;k<n;k++)
    67.            {
    68.         p=A[i][k]*x;
    69.          A[j][k]=A[j][k]-p;
    70.           }
    71.            in_matran(A,n);clrscr();
    72.             }}
    73.              for(i=0;i<n;i++)
    74.               D*=A[i][i];
    75.                printf("\n D=%6.2f",D);
    76.             getch();return(D);
    77.              }
    78. void main(void)
    79. {
    80.  float (*A)[10];int n;clrscr();
    81.   printf("\n nhap cap n=");scanf("%d",&n);
    82.    matran(A,n);
    83.    det_matran(A,n);}

    hình như sai cái phần đỏ thì phải,ai sửa hộ cái,kekeke

    Vui lòng để code trong tag code, chứ không phải là tag quote.
    Đã được chỉnh sửa lần cuối bởi AlexF : 16-02-2008 lúc 07:37 PM. Lý do: Nhắc nhở!

  2. #2
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    lại 1 con nữa nè,cũng đề như vậy thôi,cái này cũng tương tự,sử dụng con trỏ tới con trỏ,anh em thử xem cái,vẫn lỗi như con kia
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<dos.h>
    4. #include<alloc.h>
    5. #define N 10
    6. /* khai bao nguyen mau cho ham*/
    7.     void matran(float **A,int n);
    8.     void in_matran(float **A,int n);
    9.     int chuyen(float **A,int n,int i);
    10. float det_matran(float **A,int n);
    11. /* mo ta ham*/
    12. void matran(float **A,int n)
    13. {
    14.  int i,j;float trunggian;for(i=0;i<n;i++)
    15.   {
    16.    for(j=0;j<n;j++)
    17.     {
    18.      printf("\ nhap A[%d][%d]=",i,j);
    19.       scanf("%f",&trunggian);
    20.        A[i][j]=trunggian;
    21.         }}
    22.          in_matran(A,n);
    23.           }
    24. void in_matran(float **A,int n)
    25. {
    26.  int i,j;
    27.   for(i=0;i<n;i++)
    28.    {
    29.     printf("\n %-3c",179);
    30.      for(j=0;j<n;j++){
    31.       printf("%8.2f",A[i][j]);
    32.        }
    33.         printf("%3c",179);
    34.          }
    35.           delay(2000);
    36.            }
    37. int chuyen(float **A,int n,int i)
    38. {
    39.  float j,k,trunggian;
    40.   for(j=i+1;j<n;j++)
    41.    {
    42.     if(A[j][i])
    43.      {
    44.       for(k=0;k<n;k++)
    45.        {
    46.         trunggian=A[i][k];A[i][k]=A[j][k];
    47.          A[j][k]=trunggian;
    48.           }
    49.            return(1);
    50.             }}
    51.              return(0);
    52.               }
    53. float det_matran(float **A,int n)
    54. {
    55.  float D=1,p,x;int i,j,k;
    56.   for(i=0;i<n;i++)
    57.    {
    58.     if(A[i][i]==0)
    59.      {
    60.       if(chuyen(A,n,i)==0)
    61.        {
    62.         printf("\n dinh thuc D=o");
    63.          delay(2000);
    64.           return(0);
    65.            }
    66.             else D=-D;
    67.              }
    68.               for(j=i+1;j<n;j++)
    69.                {
    70.                 x=A[j][i]/A[i][i];
    71.                  for(k=0;k<n;k++)
    72.                   {
    73.                    p=A[i][k]*x;
    74.                     A[j][k]=A[j][k]-p;
    75.                      }
    76.                       in_matran(A,n);clrscr();
    77.                         }}
    78.                          for(i=0;i<n;i++) D*=A[i][i];
    79.                            printf("\n D=%6.2f",D);
    80.                             getch();
    81.                              return(D);
    82.                               }
    83.    
    84. void main(void)
    85. {
    86.  float *A;int n,i;clrscr();
    87.   printf("\n nhap cap n=");
    88.    scanf("%d",&n);
    89.     for(i=0;i<n;i++)
    90.      A[i]=malloc((n-1)*sizeof(float));
    91.       matran(A,n);
    92.        det_matran(A,n);
    93.         free(A);
    94.          }

  3. #3
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    híc,bó tay,thôi ko sao,pác nào thấy khó nhìn thì nhìn lại nhé

    code
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<dos.h>
    4.  
    5. void in_matran(float (*A)[10],int n);
    6. void matran(float (*A)[10],int n)
    7. {
    8. int i,j;float l;
    9. for(i=0;i<n;i++)
    10. {
    11. for(j=0;j<n;j++)
    12. {
    13. printf("\n nhap A[%d][%d]=",i,j);
    14. scanf("%d",&l);
    15. A[i][j]=l;
    16. }}
    17. in_matran(A,n);
    18. }
    19. void in_matran(float (*A)[10],int n)
    20. {
    21. int i,j;for(i=0;i<n;i++)
    22. {
    23. printf("\n %-3c",179);
    24. for(j=0;j<n;j++)
    25. {
    26. printf("8.2f",A[i][j]);
    27. }
    28. printf("%3c",179);
    29. }
    30. delay(2000);
    31. }
    32. int chuyen(float (*A)[10],int n,int i)
    33. {
    34. float j,k,l;
    35. for(j=i+1;j<n;j++)
    36. {
    37. if(A[j][i]==0)
    38. {
    39. for(k=0;k<n;k++)
    40. {
    41. l=A[i][k];A[i][k]=A[j][k];
    42. A[j][k]=k;
    43. }
    44. return(1);
    45. }}
    46. return(0);
    47. }
    48. float det_matran(float (*A)[10],int n)
    49. {
    50. float D=1,p,x;int i,j,k;
    51. for(i=0;i<n;i++)
    52. {
    53. if(A[i][i]==0)
    54. {
    55. if(chuyen(A,n,i)==0)
    56. {
    57. printf("\n Dinh thuc D=0");
    58. delay(2000);
    59. return(0);
    60. }
    61. else D=-D;
    62. }
    63. for(j=i+1;j<n;j++)
    64. {
    65. x=A[j][i]/A[i][i];
    66. for(k=0;k<n;k++)
    67. {
    68. p=A[i][k]*x;
    69. A[j][k]=A[j][k]-p;
    70. }
    71. in_matran(A,n);clrscr();
    72. }}
    73. for(i=0;i<n;i++)
    74. D*=A[i][i];
    75. printf("\n D=%6.2f",D);
    76. getch();return(D);
    77. }
    78. void main(void)
    79. {
    80. float (*A)[10];int n;clrscr();
    81. printf("\n nhap cap n=");scanf("%d",&n);
    82. matran(A,n);
    83. det_matran(A,n);}

  4. #4
    Ngày gia nhập
    01 2008
    Bài viết
    18

    Mặc định Mã nguồn tính Det của Ma Trận viết bằng C

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<dos.h>
    4.  
    5. void in_matran(float (*A)[10],int n);
    6. void matran(float (*A)[10],int n)
    7. {
    8.      int i,j;float l;
    9.      for(i=0;i<n;i++)
    10.      {
    11.        for(j=0;j<n;j++)
    12.          {
    13.           printf("\n nhap A[%d][%d]=",i,j);
    14.           scanf("%d",&l);
    15.           A[i][j]=l;
    16.          }
    17.      }
    18.      in_matran(A,n);
    19. }
    20.  
    21. void in_matran(float (*A)[10],int n)
    22. {
    23.   int i,j;for(i=0;i<n;i++)
    24.    {
    25.     printf("\n %-3c",179);
    26.     for(j=0;j<n;j++)
    27.      {
    28.       printf("8.2f",A[i][j]);
    29.      }
    30.     printf("%3c",179);
    31.    }
    32.   delay(2000);
    33. }
    34.  
    35. int chuyen(float (*A)[10],int n,int i)
    36. {
    37.   float j,k,l;
    38.   for(j=i+1;j<n;j++)
    39.    {
    40.     if(A[j][i]==0)
    41.      {
    42.       for(k=0;k<n;k++)
    43.        {
    44.         l=A[i][k];A[i][k]=A[j][k];
    45.         A[j][k]=k;
    46.        }
    47.       return(1);
    48.      }
    49.    }
    50.    return(0);
    51. }
    52. float det_matran(float (*A)[10],int n)
    53. {
    54.  float D=1,p,x;int i,j,k;
    55.  for(i=0;i<n;i++)
    56.   {
    57.    if(A[i][i]==0)
    58.     {
    59.      if(chuyen(A,n,i)==0)
    60.       {
    61.        printf("\n Dinh thuc D=0");
    62.        delay(2000);
    63.        return(0);
    64.       }
    65.      else D=-D;
    66.     }
    67.    for(j=i+1;j<n;j++)
    68.     {
    69.      x=A[j][i]/A[i][i];
    70.      for(k=0;k<n;k++)
    71.       {
    72.        p=A[i][k]*x;
    73.        A[j][k]=A[j][k]-p;
    74.       }
    75.        in_matran(A,n);clrscr();
    76.     }
    77.   }
    78.     for(i=0;i<n;i++)
    79.     D*=A[i][i];
    80.     printf("\n D=%6.2f",D);
    81.     getch();return(D);
    82. }
    83. void main(void)
    84. {
    85.  float (*A)[10];int n;clrscr();
    86.  printf("\n nhap cap n=");scanf("%d",&n);
    87.  matran(A,n);
    88.  det_matran(A,n);
    89. }

    dễ nhìn hơn chưa?

  5. #5
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Đọc lại về cấp phát động cho mãng 2, viết búa xua thế này, code thì không 1 dòng chú thích, cậu cứ i, j, k thì ai mà biết nó là cái gì.
    Post code muốn người ta coi thì phải post cái bug mà complier báo cho bạn là gì.
    Pass mãng 2 vào hàm, mà coi lại xem cái mãng của mình đã có gì chưa ?
    Code:
    void main(void)
    {
     float (*A)[10];int n;clrscr();
      printf("\n nhap cap n=");scanf("%d",&n);
       matran(A,n);
       det_matran(A,n);}
    Khai báo mãng 2 thế này đây hả cậu ? Còn subsript của mãng bắt buộc phải là int. Chẳng hiểu cái complier nào mà để cậu khai báo float cho subscript hay thế !!
    void main không phải standard của C và C++, tập dùng int main cho quen.
    Hàm chuyển ma trận thì việc gì phải để kiểu trả về là int, trong khi không dùng tới, void không được sao ?
    Example, watch how to name variable and function name.

    C Code:
    1. #include <stdio.h>
    2. #include <stdio.h>
    3.  
    4. void showMatrix(int (*arr2D)[10]){
    5.     int dx, dy;
    6.     for(dx = 0; dx < 10; ++dx){
    7.         for(dy = 0; dy < 10; ++dy)
    8.         {
    9.             printf("%d", arr2D[dx][dy]);
    10.             printf("-");
    11.         }
    12.         printf("\n");
    13.     }
    14. }
    15.  
    16. int main()
    17. {
    18.     int mMatrix[10][10] = {};
    19.     showMatrix(mMatrix);
    20.     return 0;
    21. }

    Đặt tên lại hết, comment vào, post cái bug lên đây, tui sẽ giúp tiếp còn không thì cậu tự mà lo lấy!

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

  1. Giúp đỡ nhập xuất ma trận
    Gửi bởi hongle516 trong diễn đàn Nhập môn lập trình Java
    Trả lời: 5
    Bài viết cuối: 21-05-2013, 10:11 AM
  2. Lỗi code khi nhập và in ra ma trận, giúp mình sửa
    Gửi bởi myterious_192 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 31-10-2010, 10:24 PM
  3. Nhập Xuât Ma Trận, Sửa lỗi giúp mình?
    Gửi bởi truonggiale trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 09-05-2009, 06:01 PM
  4. Tìm số nguyên tố lớn nhất trong ma trận. Sửa giúp mình
    Gửi bởi hatcatcodon_104 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 10-06-2008, 02:57 PM
  5. Mọi người coi giúp mình với(Tại sao mình ko nhập dc các phần tử của ma trận)
    Gửi bởi ga con trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 18-04-2008, 10:23 AM

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