Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Barabash
2 / 2 / 0
Регистрация: 29.11.2012
Сообщений: 9
#1

Разреженные матрицы - C++

30.09.2013, 20:57. Просмотров 720. Ответов 1
Метки нет (Все метки)

Здравствуйте, прошу помощи, какие -нибудь примеры, которые могут натолкнуть хотя бы на правильное решение поставленной задачи. Из файла необходимо считать разреженную матрицу, каждое значение которой представлено 3 мя числами 1-ое номер строки, 2-е номер столбца и соотв 3е значение самого элемента. Ее необходимо представить в виде циклического списка. Я понимаю, что надо "пройтись" по файлу и с каждыми тремя значениями добавлять один элемент в структуру. Но я не имею ни малейшего представления как это все реализовать на С++..=(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2013, 20:57     Разреженные матрицы
Посмотрите здесь:

Разреженные матрицы - C++
Добрый день, уважаемые пользователи. Задание по "Разреженным матрицам" через динамический список. Собственно сам список: ...

Разреженные матрицы - C++
Даны две разреженные матрицы общего вида. Сложить их и результат занести в разреженную матрицу CSS. с меня +1)) очень нужно! спасибо...

Разреженные матрицы - C++
Как в ражреженной матрице найти количество различных элементов.

Разреженные матрицы - C++
Почитал теории по разреженным матрицам, как понял это такие матрицы, где большинство элементов равны 0. Теперь пытаюсь разобраться в...

Если след матрицы A[n][m] больше 50, то все эелементы матрицы увеличить на 2. - C++
Если след матрицы A больше 50, то все эелементы матрицы увеличить на 2.

На главной диагонали новой матрицы разместить элементы заданного столбца исходной матрицы - C++
У меня вот небольшой ступр, помогите, пожалуйста. Дана квадратная матрица действительных чисел D размерности NxN. Создать новую матрицу С...

какими средствами пользоваться для того, чтобы умножать матрицы, складывать матрицы? - C++
Кто знает скажите плз какими средствами пользоваться для того, чтобы умножать матрицы, складывать матрицы. Самому как-то лень писать эту...

Разреженные матрицы - Алгебра
Ребят у меня вопрос! Если я хочу перемножить разреженные матрицы, то мне пользоваться классическим алгоритмом? Просто в разреженных...

разреженные матрицы - Delphi
Как можно сделать проверку в Delphi 7 на разреженность матрицу?

Разреженные матрицы, нужна литература - Алгебра
Ребят я занимаюсь матрицами. Если конкретно я занимаюсь параллельным программированием и перемножаю матрицы квадратного типа. Теперь мне...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2013, 02:00     Разреженные матрицы #2
Вот сишный код циклического списка. Подумайте, как его можно переделать под вашу задачу (и на С++). Сделайте свою структуру, читайте из файла в поля структуры, добавляйте структуру в список.
Кликните здесь для просмотра всего текста
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <stdio.h>
#include <stdlib.h>
 
void add_string(); // добавление строки в список
void show_list();  // вывод списка
void delete_list(); // удаление списка
 
#define N  256  // N - 1 - максимальное количество символов в строке
 
struct node
{
   char str[N];
   struct node *next;
};
 
struct node *last;
 
int main()
{
    last  = NULL;
        
        char ch = 'y';
        while (1)
        {
                printf("Add the string? (y/n): ");
                scanf("%c", &ch);
                getchar();
                
                if (ch == 'y') 
                        add_string();
                else break;
        }
        if (last != NULL) 
        {
                printf("The list of successfully created! Show the list? (y/n)");
                scanf("%c", &ch);
                getchar();
                if (ch == 'y')
                        show_list();
        }
        else printf("The list is not created!\n");
 
        delete_list();
        
        printf("Out!");
        getchar();
        return 0;
}
 
void add_string()
{
        struct node *add = (struct node*)malloc(sizeof(struct node));
        
        printf("Input the string (maximum of 255 characters): ");
        gets(add ->str);
        
        if (last == NULL)
        {
                last = add;
                add ->next = add;
        }
    else
        {
                add ->next = last ->next;
                last ->next = add;
                last = add;
    }
}
 
void show_list()
{
        if (last == NULL) printf("List is empty!\n");
        else
        {
                struct node *cur = last;
                while (1)
                {
                        printf("%s\n", cur ->str);
                        cur = cur ->next;
                        if (cur == last) break;
                }
        }
} 
 
void delete_list()
{
        if (last != NULL)
        {
                struct node *temp;
                struct node *cur = last;
                while (1)
                {
                        temp = cur ->next;
                        free(cur);
                        cur = temp;
                        if (cur == last) break;
                }
        }
}
Yandex
Объявления
01.10.2013, 02:00     Разреженные матрицы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru