0 / 0 / 0
Регистрация: 24.03.2010
Сообщений: 9
1

Посчитать столбец ненулевых элементов

22.05.2010, 22:14. Показов 850. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть разреженная матрица, которая хранится в виде цепочки ненулевых элементов со строчным индексированием.
Т.е.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
read_matrix(){
    FILE *p;
    printf("Input filename:\n");
    scanf("%s",data);
    p=fopen(data,"r+");
    for (i=0;i<10;i++)
    {
        for(j=0;j<10;j++)
        {
            /////////////////////////////////////
           fscanf(p,"%d",&input_matrix[i][j]);
            /////////////////////////////////////
            if ((input_matrix[i][j])!= 0)   {
                    A_matrix[l]=j;
                    A_matrix[l+1]=input_matrix[i][j];
                    A_matrix[l+2]=l+4;
                    if ((input_matrix[i][j])!= 0) {
                        s[c]=l+1;
                        c++;
                    }
                    l=l+3;
                    }
                }
               //printf("%d  ",s[0]);
                M_matrix[u]=s[0];
                u++;
                c=0;
                s[c]=0;
   for (i=0;i<l;i++){
        if ((A_matrix[i+1]==0)&&(A_matrix[i+2]==0)){
            A_matrix[i]=0;
        }
   }
    }
    }

Необходимо найти столбец содержащую максимальное число ненулевых элементов, вывести её значение и произведение элементов. Если столбцов несколько, обработать предпоследний. Так как работать с двумерными массивами нельзя, то мне представляется что нужно проходить только по матрице А , а именно по каждому 3 её элементу,начиная с 1-го, ведь именно он указывает на номер столбца. Но тогда как мне определить в каком столбце ненулевых элементов больше? Не заводить же счетчиков столько, сколько столбцов матрицы ( в данном случае 10х10).
Нужна помощь!

Добавлено через 4 часа 24 минуты
up!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2010, 22:14
Ответы с готовыми решениями:

Дана прямоугольная матрица. Найти столбец с наибольшим количеством ненулевых элементов и удалить его из исходной матрицы
Дана прямоугольная матрица. Найти столбец с наибольшим количеством ненулевых элементов и удалить...

Определить строку столбец матрицы которые среди строк и столбцов имеют наибольшее количество ненулевых элементов
Определить номеp строки и столбца матpицы A=(a), i=j=1,2,...,n, которые среди строк и столбцов...

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
В массиве Х(N) найти произведение ненулевых элементов, количество элементов, превышающих значение...

Поменять местами столбец матрицы с наибольшей суммой элементов и заданный столбец (результат не выводится)
Задана матрица произвольной размерности. Поменять местами столбец матрицы, имеющий наибольшую сумму...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2010, 22:14
Помогаю со студенческими работами здесь

Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X
Задача заключается в следующем: 1)Построить матрицу. Матрицу построил, но она выводится в строку....

Найти произведение ненулевых элементов массива и подсчитать число нулевых элементов
Дан массив чисел c1,c2,...,c20,среди которых есть нулевые элементы. Найти произведение ненулевых...

Найти количество ненулевых элементов и сумму элементов, значения которых меньше 2
Найти кол-во ненулевых элементов и сумму элементов , значения которых меньше 2 .Вывести...

Найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического
Ребят, помогите пожалуйста составить алгоритм решения задачи на C++. В массиве Х(N) найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru