Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
-29 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 12
1

Двумерные массивы (СЛАУ). Привести систему к треугольному виду

30.12.2012, 01:24. Показов 5462. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы.С помощью допустимых преобразований привести систему к треугольному виду. Найти количество строк, среднее арифметическое элементов которых меньше данной величины.

Незнаю как решить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2012, 01:24
Ответы с готовыми решениями:

С помощью допустимых изменений привести систему к треугольному виду...
Надо выполнить вот это задание ": Коефіцієнти системи лінійних рівнянь задані у вигляді прямокутної...

Привести вектор к треугольному виду
Я решаю систему лин. уравнений одной малоизвестной модификацией метода Гаусса. В чем суть: =>...

Привести матрицу к треугольному виду
Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С помощью допустимых...

Привести матрицу к треугольному виду
Написать программу для работы с динамическим целочисленным двумерным массивом, который содержит...

22
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
30.12.2012, 03:13 2
эта задача на 90% не на программирование а на линейную алгебру. Её не могли тебе в школе задать. Значит в институте проспал тему. Легче это спросить у математиков, а не программистов. Хотя программистам и положено знать лин.алгебру, конечно, всё-равно задача мало что имеет с программированием общего.
0
-29 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 12
30.12.2012, 03:57  [ТС] 3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
эта задача на 90% не на программирование а на линейную алгебру. Её не могли тебе в школе задать. Значит в институте проспал тему. Легче это спросить у математиков, а не программистов. Хотя программистам и положено знать лин.алгебру, конечно, всё-равно задача мало что имеет с программированием общего.
А кто сказал что мне её в школе задали интересно)). Я в универе вообще то учусь.

Добавлено через 2 минуты
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
эта задача на 90% не на программирование а на линейную алгебру. Её не могли тебе в школе задать. Значит в институте проспал тему. Легче это спросить у математиков, а не программистов. Хотя программистам и положено знать лин.алгебру, конечно, всё-равно задача мало что имеет с программированием общего.
с программированием она как раз имеет много общего потому как она по методу гаусса решается , а программу составить надо эту, и при том есть много подобных сайтов решения таких задач. Но мне нужно на с++ написать её.
0
14 / 14 / 1
Регистрация: 20.04.2010
Сообщений: 102
30.12.2012, 04:19 4
алгоритм Гаусса. задача, решенная 100500 раз. в интернете полно реализаций и статей с кусками кода

Добавлено через 9 минут
например
http://iproc.ru/parallel-programming/lection-4/
0
Заблокирован
Автор FAQ
30.12.2012, 15:17 5
Цитата Сообщение от silverserfer Посмотреть сообщение
с программированием она как раз имеет много общего потому как она по методу гаусса решается , а программу составить надо эту, и при том есть много подобных сайтов решения таких задач. Но мне нужно на с++ написать её.
- лови Методом Гаусса решить систему n линейных алгебраических уравнений код на Си с полными пояснениями, думаю перебить в С++ труда не составит...
0
-29 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 12
31.12.2012, 11:46  [ТС] 6
Мне нужно написать программу мою а не ту которую мне предлагают скопировать!!!! не надо кидать сюда исходники которые типа ясны , нужно составить именно под моё условие задачи программу, кто может написать помогите плиз.
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
31.12.2012, 12:11 7
ого какой вы наглец, а вы проявите хоть каплю творческого индивидуализма, и из кусков кода составте свою, если не можете(а скорее всего не хотите) то вам врятли кто будет помогать, после таких заявлений, по крайней мере бесплатно,вы не первый и не последний первак лоботряс
0
-29 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 12
31.12.2012, 13:00  [ТС] 8
Цитата Сообщение от Nixy Посмотреть сообщение
ого какой вы наглец, а вы проявите хоть каплю творческого индивидуализма, и из кусков кода составте свою, если не можете(а скорее всего не хотите) то вам врятли кто будет помогать, после таких заявлений, по крайней мере бесплатно,вы не первый и не последний первак лоботряс
ей богу я не лоботряс , не получается у меня придумать алгоритм правильно, я два дня уже бьюсь а собирать из куском не вариант а чужие разбирать это мазохизм, потому как там вообзе задача про одно и всего ненужного для моей задачи напихано
0
4240 / 2937 / 687
Регистрация: 08.06.2007
Сообщений: 9,817
Записей в блоге: 4
31.12.2012, 13:14 9
А зачем придумывать алгоритм? Нужно взять готовый Алгоритм Гаусса. Он опять-таки подробно расписан в учебниках по линейной алгебре, и в интернете можно найти. Если есть конкретные вопросы, то можно конечно, спросить на форуме. Но если с нуля, то что мы здесь гурьбой будем в спешке объяснять? Только запутаем. Логичнее взять солидный учебник, где каждая фраза за десятилетия переизданий отлилась в граните.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
31.12.2012, 13:17 10
Цитата Сообщение от silverserfer Посмотреть сообщение
не получается у меня придумать алгоритм правильно
И не нужно ничего придумывать. Метод Гаусса как раз подразумевает приведение системы к треугольному виду. Вы бы хоть поинтересовались на счет того, что предлагают. А чужой код разбирать - это не мазохизм, а отличный способ понять реализацию задачи в рамках языка. Тем более, если код хорошо оформлен.
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
31.12.2012, 13:18 11
А если вы учитесь на программиста, то разбирать чужой код это ваша обязаность, причем даже плохо написанный.
0
-29 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 12
31.12.2012, 13:29  [ТС] 12
Цитата Сообщение от nonedark2008 Посмотреть сообщение
И не нужно ничего придумывать. Метод Гаусса как раз подразумевает приведение системы к треугольному виду. Вы бы хоть поинтересовались на счет того, что предлагают. А чужой код разбирать - это не мазохизм, а отличный способ понять реализацию задачи в рамках языка. Тем более, если код хорошо оформлен.
Вот в том то и дело что код вообще не читабелен почти!

Добавлено через 2 минуты
Цитата Сообщение от Nixy Посмотреть сообщение
А если вы учитесь на программиста, то разбирать чужой код это ваша обязаность, причем даже плохо написанный.
Я вам могу сказать одно , что я только учусь , и задача это вообще не моя , я свои задачи все решил и сдал уже и получил зачет , а моему одногруппнику меньше повезло у него были проблемы с призывом но сейчас учится и он пропустил пары эти по языку и ему дали 4 задчаи решить , сам он не может я решил ему помочь , 4 задачи я решил но вот эту я не могу решить, хотя как её решить на листе я знаю!
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
31.12.2012, 13:52 13
Цитата Сообщение от silverserfer Посмотреть сообщение
Вот в том то и дело что код вообще не читабелен почти!
Самой первой ссылкой вам предлагали сайт с хорошим разъяснением и замечательным примером шаблонной функции.
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
31.12.2012, 13:52 14
Приведение матрицы к вехрнему треугольному виду)
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
//
//  main.cpp
//
//  Created by Ilya Lavrenov on 12/31/12.
//
 
#include <iostream>
#include <emmintrin.h>
 
// приведение матрицы к треугольному виду
void to_triangle(double** matrix, unsigned int size)
{
    // y - ведущая строка
    for (unsigned int y0 = 0; y0 < size; ++y0)
    {
        if (matrix[y0][y0] == 0.0)
            return;
        
        // вычитаемые строки
        for (unsigned int y1 = y0 + 1; y1 < size; ++y1)
        {
            // нахождение коээфициента
            double _k = matrix[y1][y0] / matrix[y0][y0];
            
            unsigned int x = y0;
#ifdef __SSE2__
            __m128d k = _mm_load1_pd(&_k);
            for ( ; x <= size - 2; x += 2)
            {
                __m128d r0 = _mm_loadu_pd(matrix[y0] + x);
                __m128d r1 = _mm_loadu_pd(matrix[y1] + x);
                r0 = _mm_mul_pd(k, r0);
                r1 = _mm_sub_pd(r1, r0);
                _mm_storeu_pd(matrix[y1] + x, r1);
            }
#endif
            for ( ; x < size; ++x)
                matrix[y1][x] -= matrix[y0][x] * _k;
        }
    }
}
 
int main(int argc, const char * argv[])
{
    double** matrix = NULL;
    unsigned int size = 0u;
    
    std::cout << "Введите размер матрицы" << std::endl;
    std::cin >> size;
    
    matrix = new double*[size];
    for (unsigned int y = 0u; y < size; ++y)
        matrix[y] = new double[size];
    
    std::cout << "Введите матрицу размером " << size << "x" << size << ": " << std::endl;
    for (unsigned int y = 0u; y < size; ++y)
        for (unsigned int x = 0u; x < size; ++x)
            std::cin >> matrix[y][x];
    
    to_triangle(matrix, size);
    
    std::cout << "Ответ: " << std::endl;
    for (unsigned int y = 0u; y < size; ++y)
    {
        for (unsigned int x = 0u; x < size; ++x)
            std::cout << matrix[y][x] << " ";
        std::cout << std::endl;
    }
    
    return 0;
}
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
31.12.2012, 13:55 15
sandye51, плохой пример. Вы бы еще предложили с использованием сторонней библиотеки... Хопа, решение задачи тремя строчками >_>
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
31.12.2012, 13:56 16
и чем же мой пример плох?
0
-29 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 12
31.12.2012, 14:20  [ТС] 17
Цитата Сообщение от sandye51 Посмотреть сообщение
и чем же мой пример плох?
тем что он еще хуже того что нашел до этого)) я думал что хуже исходника нету а оказывается есть, и это ваш!))
0
4240 / 2937 / 687
Регистрация: 08.06.2007
Сообщений: 9,817
Записей в блоге: 4
31.12.2012, 14:29 18
Цитата Сообщение от sandye51 Посмотреть сообщение
и чем же мой пример плох?
Наверно тем, что код ему не нужен. Он же написал. Ему надо алгоритм. А код по нему он сам хочет написать.
1
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
31.12.2012, 14:30 19
Цитата Сообщение от sandye51 Посмотреть сообщение
и чем же мой пример плох?
Тем, что там используются не общеизвестные функции. emmintrin.h - я такой в первый раз вижу >_>
__m128d - странный тип, используемый в SIMD 2 - странные инструкции для процессора. Походу это что-то с чем-то для оптимизации кода. Только вопрос, а зачем это обычному студенту, тем более такое никто не приподает. Вот спросит препод - и что ему отвечать? Короче, слишком много надо знать, чтобы такое использовать.
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
31.12.2012, 14:36 20
Цитата Сообщение от nonedark2008 Посмотреть сообщение
emmintrin.h - я такой в первый раз вижу >_>
ну это не мои проблемы, что ты это впервые видишь. Это никакая не сторонняя библиотека
я пишу код и выкладываю здесь просто так (так сказать потренироваться для себя), а не чтобы его показывал преподу (мне конечно не жалко, если этот код примут)

silverserfer, аргументы просто блеск

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

Как привести матрицу к треугольному виду
Нужно привести матрицу к треугольному виду, можно написать прогу , а то какие нашел не работают ни...

Задача: привести матрицу к треугольному виду
Блин, я никак не разберусь, может тут кто знает? Задание: Дана квадратная матрица размера m*n....

Как привести матрицу к треугольному виду по методу гауса?
Может у кого есть прога? Нужна срочно!

Привести матрицу к треугольному виду Гауссом (не могу найти работающий код)
Нужен код для приведения матрицы к треугольному виду (матрица статическая, целочисленная). ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru