存储矩阵列和并进行比较以找到最大的]] << [

问题描述 投票:0回答:1
TLDR:我的问题是:如何将1,2,3 ... n列的和存储到变量中,然后比较它们以找到最大的和?

好吧,我将尽可能让我理解这一点!

#include <stdio.h> #include <math.h> #define NUM_ITEMS 1000 int array[NUM_ITEMS]; int main(){ FILE* file; int a[10][10]; int i,j, count = 0; int n=0; file = fopen("Matrica.txt", "r"); while(count < NUM_ITEMS && fscanf(file, "%d", &array[count]) == 1) count++; n = sqrt(count); printf("Dimenzije matrice: %dx%d ",n,n); rewind(file); for(i=0;i<n;i++) for(j=0;j<n;j++){ fscanf(file,"%d",&a[i][j]); } for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("\nElementi matrice: %d \n",a[i][j]); } } int col[n]; for(j=0;j<n;j++){ for(i=0;i<n;i++){ col[i] += a[i][0]; } } printf("\nDBG:%d",col[0]); fclose(file); }
任务是找到a[10][10]的尺寸,打印出它的元素并找到总和最大的列。这个var的英文名字是什么。到目前为止,我已经完成了任务的2/3。

下面是代码:

for(j=0;j<n;j++){ for(i=0;i<n;i++){ col[i] += a[i][0]; } }

它是用于计算第一列之和的代码。

我不知道如何实现它来做我想要的事情,因为col[i]必须具有NULL值才能将总和取代否则它只会打印出一堆乱码。

注:

col[0]应该显示在第1列中,col[1]在第2列中等等。>>TLDR:我的问题是:如何将1,2,3 ... n列的和存储到变量中,然后比较它们以找到最大的和?好吧,我将尽我所能把它理解为可以理解的! #...

如果我从示例中正确猜出,您从文件中仅获得一个10x10矩阵,现在您想要对列中的元素(垂直)求和,而对行中的元素(水平)求和,尝试更改

col[i] += a[i][0]

col[i] += a[j][i]

由于您的代码,您只添加了每一行的第一个元素。第一个[]表示行,第二个[]表示列。这种轻微的变化是将行的每个列元素加到col[i]中的列索引。因为我不知道您的文本文件的外观,所以我想肯定会得到带有有效元素的10x10矩阵。
c matrix compare store
1个回答
0
投票
如果我从示例中正确猜出,您从文件中仅获得一个10x10矩阵,现在您想要对列中的元素(垂直)求和,而对行中的元素(水平)求和,尝试更改
© www.soinside.com 2019 - 2024. All rights reserved.