矩阵的转置吗?
看数据结构的书去 里面写的行详细的

解决方案 »

  1.   

    不是转置,求逆阵数据结构的书里也有吗?
      

  2.   

    /*************************************************************************
     *
     * 函数名称:
     *   Reverse()
     *
     * 参数:
     *   unsigned char a[] - 矩阵a
     *   n                      - a为n*n阶方阵
     *  
     * 返回值:
     *   int             - 若返回值为0,则表示矩阵奇异,若不为0,则表示正常返回,
     *                     返回时,矩阵a中存放a的逆阵 *
     * 说明:
     *   该函数用来将DIB图像缩小1/2,返回新生成DIB的句柄。
     *
     ************************************************************************/
    int WINAPI Reverse(double a[] , int n)

    int *is,*js;
        int i,j,k,l,u,v;
        double d,p;
        is=(int *)malloc(n*sizeof(int));
        js=(int *)malloc(n*sizeof(int));
        for (k=0; k<=n-1; k++)
        { 
    d=0.0;
            for (i=k; i<=n-1; i++)
            for (j=k; j<=n-1; j++)
            {
    l=i*n+j; p=fabs(a[l]);
                if (p>d)
    {
    d=p;
        is[k]=i;
        js[k]=j;
    }
            }
            if (d+1.0==1.0)
            {
    free(is);
    free(js); 
                return(0);
            }
            if (is[k]!=k)
              for (j=0; j<=n-1; j++)
              {
      u=k*n+j;
          v=is[k]*n+j;
                  p=a[u];
      a[u]=a[v];
      a[v]=p;
              }
            if (js[k]!=k)
              for (i=0; i<=n-1; i++)
              {
      u=i*n+k;
      v=i*n+js[k];
                  p=a[u];
      a[u]=a[v];
      a[v]=p;
              }
            l=k*n+k;
            a[l]=1/a[l];
            for (j=0; j<=n-1; j++)
              if (j!=k)
              {
      u=k*n+j;
      a[u]=a[u]*a[l];
      }
            for (i=0; i<=n-1; i++)
              if (i!=k)
                for (j=0; j<=n-1; j++)
                  if (j!=k)
                  {
      u=i*n+j;
                      a[u]=a[u]-a[i*n+k]*a[k*n+j];
                  }
            for (i=0; i<=n-1; i++)
              if (i!=k)
              {
      u=i*n+k;
      a[u]=-a[u]*a[l];
      }
          }
        for (k=n-1; k>=0; k--)
        {
    if (js[k]!=k)
              for (j=0; j<=n-1; j++)
              {
      u=k*n+j;
      v=js[k]*n+j;
                  p=a[u];
      a[u]=a[v];
      a[v]=p;
              }
            if (is[k]!=k)
              for (i=0; i<=n-1; i++)
              {
      u=i*n+k;
          v=i*n+is[k];
                  p=a[u];
      a[u]=a[v];
      a[v]=p;
              }
        }
        free(is);
    free(js);
        return(1);
      }
      

  3.   

    那么,有谁知道求矩阵秩的算法吗,我上次提问过,可是没人答。