Сохранение матричных сумм столбцов и сравнение их, чтобы найти наибольшее - PullRequest
0 голосов
/ 26 апреля 2020

Как сохранить суммы 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] распечатайте его элементы и найдите столбец с наибольшей суммой. Как называется этот вар в Engli sh. Пока я выполнил 2/3 задачи.

Ниже приведен код:

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

это код для вычисления суммы 1-го столбца.

Я не знаю, как реализовать это, чтобы делать то, что я хочу, потому что col[i] должен иметь значения NULL для суммы, чтобы занять его место, или он просто выведет кучу jibberi sh.

Примечание: col[0] должен был представить столбец 1, col[1] столбец 2 et c.

1 Ответ

0 голосов
/ 26 апреля 2020

Если я правильно угадал из примера, вы получаете только одну матрицу 10x10 из файла, и теперь вы хотите суммировать элементы в столбцах (по вертикали), а не в строках (по горизонтали), попробуйте изменить

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

на

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

Потому что с помощью своего кода вы добавляли только первый элемент каждой строки. Первый [] обозначает строку, второй [] обозначает столбец. Это небольшое изменение суммирует каждый элемент столбца строки с индексом столбца в col[i]. Поскольку я не знаю, как выглядит ваш текстовый файл, я предполагаю, что вы наверняка получите матрицу 10x10 с допустимыми элементами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...