Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.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
C 如何打印我在2d数组中找到最大数的F行?_C - Fatal编程技术网

C 如何打印我在2d数组中找到最大数的F行?

C 如何打印我在2d数组中找到最大数的F行?,c,C,我知道如何找到最大的数字,但不知道如何打印该行 #include <stdio.h> #include <stdlib.h> #define MAX 100 int main() { int i,j,n, max_i, max_j; printf("Input size of a matrix:"); scanf("%d", &n); int mat[n][n]; printf("Input numbers in mat

我知道如何找到最大的数字,但不知道如何打印该行

#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main()
{
    int i,j,n, max_i, max_j;
    printf("Input size of a matrix:");
    scanf("%d", &n);
    int mat[n][n];


    printf("Input numbers in matrix:");
    for (i=0;i<n;i++){
        for (j=0;j<n;j++){
            scanf("%d", &mat[i][j]);
        }
    }
    max_i=0;
    max_j=0;
    for (i=0;i<n;i++){
        for (j=0;j<n;j++){
            if(mat[max_i][max_j]>mat[i][j]){
                mat[i][j]=mat[max_i][max_j];
            }
        }
    }
    printf("Largest number is %d, print of his whole row is %d", mat[max_i][max_j], mat[i][0] ); // I think here is a problem, but who knows
    return 0;
}
#包括
#包括
#定义最大值100
int main()
{
int i,j,n,max_i,max_j;
printf(“矩阵的输入大小:”);
scanf(“%d”和“&n”);
国际材料[n][n];
printf(“在矩阵中输入数字:”);

对于(i=0;i你做得几乎正确,也就是说,你实际上在寻找最大数字所在的指数(而不仅仅是获取最大数字的值)

你只是在更新最大索引时出错了,因为

if(mat[max_i][max_j]>mat[i][j]){
         mat[i][j]=mat[max_i][max_j];  // alters the contents of the matrix
}
更改矩阵的内容,而不是更新搜索的索引

if(mat[max_i][max_j] < mat[i][j]){
         max_i = i;
         max_j = j;
}

如果google translate做得正确,我明白你想要什么-那么你需要一个接一个地打印它,或者在循环之前收集:

printf("Najveci broj je %d, a ispis cijelog retka je ", mat[max_i][max_j]);
for(j = 0; j < n; j++) {
    printf("%d ", mat[max_i][j]);
}
printf(“Najveci broj je%d,ispis cijelog retka je”,mat[max_i][max_j]);
对于(j=0;j
创建一个变量来存储最大数字和数字行

#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main()
{
int i,j,n, max_number, max_number_row;
printf("Ucitajte velicinu matrice:");
scanf("%d", &n);
int mat[n][n];


printf("Ucitajte brojeve u matricu:");
for (i=0;i<n;i++){
    for (j=0;j<n;j++){
        scanf("%d", &mat[i][j]);
    }
}

max_number = mat[0][0];
for (i=0;i<n;i++){
    for (j=0;j<n;j++){
            if(mat[i][j] > max_number){
                max_number = mat[i][j];
                max_number_row = i;
            }
    }
}
printf("Najveci broj je %d, a ispis cijelog retka je %d", max_number, max_number_row ); 
return 0;
}
#包括
#包括
#定义最大值100
int main()
{
int i,j,n,max_数,max_数行;
printf(“Ucitajte velicinu矩阵:”);
scanf(“%d”和“&n”);
国际材料[n][n];
printf(“Ucitajte brojeve u matricu:”);

对于(i=0;i为该行创建一个变量,当您找到一个更大的数字时,只需在该行变量中保存
i
。请在代码中使用英文消息,这将帮助其他人识别消息@Zvonimir BrleI知道我必须这样做,但我不知道how@user694733当前位置谢谢;如果不清楚我不是英语母语,至少现在是这样is:-)我犯了一个错误,我知道如何找到最大值。但我必须打印我找到该值的整行。它不会打印那行
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main()
{
int i,j,n, max_number, max_number_row;
printf("Ucitajte velicinu matrice:");
scanf("%d", &n);
int mat[n][n];


printf("Ucitajte brojeve u matricu:");
for (i=0;i<n;i++){
    for (j=0;j<n;j++){
        scanf("%d", &mat[i][j]);
    }
}

max_number = mat[0][0];
for (i=0;i<n;i++){
    for (j=0;j<n;j++){
            if(mat[i][j] > max_number){
                max_number = mat[i][j];
                max_number_row = i;
            }
    }
}
printf("Najveci broj je %d, a ispis cijelog retka je %d", max_number, max_number_row ); 
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main()
{
int i,j,n, max_number, max_number_row;
printf("Ucitajte velicinu matrice:");
scanf("%d", &n);
int mat[n][n];


printf("Ucitajte brojeve u matricu:");
for (i=0;i<n;i++){
    for (j=0;j<n;j++){
        scanf("%d", &mat[i][j]);
    }
}

max_number = mat[0][0];
for (i=0;i<n;i++){
    for (j=0;j<n;j++){
            if(mat[i][j] > max_number){
                max_number = mat[i][j];
                max_number_row = i;
            }
    }
}
printf("Najveci broj je %d, a ispis cijelog retka je ", max_number); 
for(j = 0; j < n; j++) {
    printf("%d ", mat[max_number_row][j]);
} 
return 0;
}