【发布时间】:2014-12-14 17:04:25
【问题描述】:
我需要将最大数量的随机生成矩阵移动到矩阵的右下角,但我不知道如何。有人可以帮忙吗。 这是我的代码:
#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;
}
【问题讨论】:
-
你在矩阵中找到最大的数,然后用
matrix[rows - 1][columns - 1]交换它。 -
您的问题有点不明确。您是否需要将最大的数字与右下角的值交换?如果有多个位置的最大值相同,该怎么办?