【发布时间】:2013-06-16 16:45:35
【问题描述】:
基本上我想创建一个大小为 NxN 的二维数组,在每一行中找到最大值并将其替换为上三角形,或者将元素替换为该特定行的最大值,但在对角线上方。
#include <stdio.h>
#include <stdlib.h>
#define MAXIMUM 100
int main()
{
int n, i, j, temp,m;
float a[MAXIMUM][MAXIMUM], max;
printf("dimensions: ");
scanf("%d",&n);
printf("input elements\n");
for (i=0; i<n; i++){
for (j=0; j<n; j++){
scanf("%f",&a[i][j]);
}
}
max=a[0][0];
for (i=0; i<n; i++){
for (j=0; j<n; j++)
{
if(max<a[i][j]){
max=a[i][j];
}
for(m=0;m<n;m++) //the problem starts here
{
if(max>a[i][m]){
if(i+m>n-1){
a[i][m]=max;
}
}
}
}
}
for(i = 0; i < n; i++) {
printf("\n");
for(j = 0; j < n; j++) {
printf("%f ", a[i][j]);
}
}
return 0;
}
【问题讨论】:
-
你的问题是什么?
-
您没有在 load 循环集期间确定最大值而不是在之后尝试这样做的任何特殊原因?
-
我的问题是,这个东西不能正常工作我需要一些帮助,给我指出正确的答案。我想这是因为我需要分别更改每一行的最大值,所以我需要多个最大值