무작위로 생성 된 행렬의 가장 큰 수를 행렬의 오른쪽 하단 모서리로 이동해야하지만 어떻게해야할지 모르겠다. 누군가 도와 줄 수 있어요. 이 내 코드입니다 :행렬의 최대 개수를 이동하는 방법
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, rows, columns;
int **matrix;
printf("write the number of rows\n");
scanf("%d", &rows);
printf("write the number of columns\n");
scanf("%d", &columns);
matrix = malloc(rows * sizeof *matrix);
for (i = 0 ; i < rows ; i++)
{
matrix[i] = malloc(columns * sizeof(int));
for (j = 0 ; j < columns ; j++)
matrix[i][j] = rand() % 100;
}
for (i = 0 ; i < rows ; i++)
{
for (j = 0 ; j < columns ; j++)
printf("%5d", matrix[i][j]);
printf("\n");
}
for (i = 0 ; i < rows ; i++)
free(matrix[i]);
free(matrix);
return 0;
}
행렬에서 가장 큰 숫자를 찾으면 행렬 [행 - 1] [열 - 1]'로 바꿉니다. –
귀하의 질문에 약간 미달합니다. 가장 큰 숫자와 오른쪽 하단의 값을 바꿔야합니까? 동일한 가치가있는 위치가 여러 개있는 경우 어떻게해야합니까? –