Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays C语言中的二维数组转置矩阵 #包括 无效读_数组(int行、int列、int a[row][col]); 填空(整行、整列、整b[行][col],整a[行][col]); 无效打印(整行、整列、整a[行][col]); 内部主(空){ int r1,c1; printf(“输入行数>”; scanf(“%d”和&r1); printf(“输入列数>”; scanf(“%d”和“c1”); int arr[r1][c1]; 读单元阵列(r1、c1、arr); int arr2[c1][r1]; 填充arr(c1、r1、arr2、arr); 打印arr(c1、r1、arr2); } 无效读取数组(int行、int列、int a[行][col]){ int i,j; printf(“为%d行输入值,每行有%d个数字>”,行,列); 对于(i=0;i_Arrays_C_Matrix_Multidimensional Array - Fatal编程技术网

Arrays C语言中的二维数组转置矩阵 #包括 无效读_数组(int行、int列、int a[row][col]); 填空(整行、整列、整b[行][col],整a[行][col]); 无效打印(整行、整列、整a[行][col]); 内部主(空){ int r1,c1; printf(“输入行数>”; scanf(“%d”和&r1); printf(“输入列数>”; scanf(“%d”和“c1”); int arr[r1][c1]; 读单元阵列(r1、c1、arr); int arr2[c1][r1]; 填充arr(c1、r1、arr2、arr); 打印arr(c1、r1、arr2); } 无效读取数组(int行、int列、int a[行][col]){ int i,j; printf(“为%d行输入值,每行有%d个数字>”,行,列); 对于(i=0;i

Arrays C语言中的二维数组转置矩阵 #包括 无效读_数组(int行、int列、int a[row][col]); 填空(整行、整列、整b[行][col],整a[行][col]); 无效打印(整行、整列、整a[行][col]); 内部主(空){ int r1,c1; printf(“输入行数>”; scanf(“%d”和&r1); printf(“输入列数>”; scanf(“%d”和“c1”); int arr[r1][c1]; 读单元阵列(r1、c1、arr); int arr2[c1][r1]; 填充arr(c1、r1、arr2、arr); 打印arr(c1、r1、arr2); } 无效读取数组(int行、int列、int a[行][col]){ int i,j; printf(“为%d行输入值,每行有%d个数字>”,行,列); 对于(i=0;i,arrays,c,matrix,multidimensional-array,Arrays,C,Matrix,Multidimensional Array,希望这是有用的 #include <stdio.h> void read_array( int row, int col, int a[row][col]); void fill_arr(int row, int col,int b[row][col], int a[row][col]); void print_arr(int row, int col, int a[row][col]); int main(void){ int r1,c1; printf(&qu

希望这是有用的

#include <stdio.h>

void read_array( int row, int col, int a[row][col]);
void fill_arr(int row, int col,int b[row][col], int a[row][col]);
void print_arr(int row, int col, int a[row][col]);

int main(void){
    int r1,c1;
    printf("Enter number of rows>");
    scanf("%d", &r1);
    printf("Enter number of columns>");
    scanf("%d", &c1);
    int arr[r1][c1];
    read_array(r1,c1,arr);
    int arr2[c1][r1];
    fill_arr(c1,r1,arr2,arr);
    print_arr(c1,r1,arr2);
}

void read_array( int row, int col, int a[row][col]){
    int i,j;
    printf("Enter values for %d rows with each row having %d numbers> ", row, col);
    for(i=0; i<row; i++){
        for(j=0; j<col; j++){
            scanf("%d", &a[i][j]);
        }
    }
}
void fill_arr(int row, int col,int b[row][col], int a[row][col]){
    int i,j;
    for(i=0; i<row;i++){
        for(j=0; j<col; j++){
            b[i][j] = a[j][i];
        }
    }
}
void print_arr(int row, int col, int a[row][col]){
    int i,j;
    printf("Transpose: \n");
    for(i=0; i<row; i++){
        for(j=0; j<col; j++){
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
}
/*Example for a 3x4 matrix with 1-12 as input:
    Expected output:
    1 5 9
    2 6 10
    3 7 11
    4 8 12

    Actual output:
    1 4 7
    2 5 8
    3 6 9
    4 7 10
/*
void fill\u arr(int行,int列,int b[col][row],int a[row][col]){
int i,j;

对于(i=0;i我相信您在调用
fill\u array()
时混淆了
c1
r1


此外,该函数应被调用
transpose_array()
copy_transposed()
fill
表明您正在使用一些固定值或零进行填充。

仍然无法按预期工作。按fill_array函数参数顺序(行、列、arr2、arr)为1-12:1 4 7 10 5 8 11 6 12 48 0给出了这种奇怪的输出。这是针对您的问题的正确代码。输出消息:1-12:[1 2 3 4][5 6 7 8][9 10 11 12](列顺序)没有解释的代码不是一个好答案。您是否尝试过使用调试器并单步执行程序?
void fill_arr(int row, int col,int b[col][row], int a[row][col]){
      int i,j;
      for(i=0; i<row;i++){
      for(j=0; j<col; j++){
        b[j][i] = a[i][j];
      }
    }
  }
void print_arr(int row, int col, int a[row][col]){
     int i,j;
     printf("Transpose: \n");
     for(i=0; i<row; i++){
      for(j=0; j<col; j++){
        printf("%d ", a[i][j]);
     }
      printf("\n");
}
}

int main(void){
int r1,c1;
printf("Enter number of rows>");
scanf("%d", &r1);
printf("Enter number of columns>");
scanf("%d", &c1);
int arr[r1][c1];
read_array(r1,c1,arr);
int arr2[c1][r1];
fill_arr(r1,c1,arr2,arr);
print_arr(c1,r1,arr2);