С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Изучающий
1 / 0 / 2
Регистрация: 22.01.2017
Сообщений: 115
1

Преобразовать в цикл(ы)

28.04.2019, 00:15. Показов 1477. Ответов 4

Author24 — интернет-сервис помощи студентам
Здравствуйте. Можно ли как то это преобразовать в цикл?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Ручной счёт y
y[0] = b[0] / U[0][0];
y[1] = (b[1] - U[0][1] * y[0]) / U[1][1];
y[2] = (b[2] - U[0][2] * y[0] - U[1][2] * y[1]) / U[2][2];
y[3] = (b[3] - U[0][3] * y[0] - U[1][3] * y[1] - U[2][3] * y[2]) / U[3][3];
y[4] = (b[4] - U[0][4] * y[0] - U[1][4] * y[1] - U[2][4] * y[2] - U[3][4] * y[3]) / U[4][4];
y[5] = (b[5] - U[0][5] * y[0] - U[1][5] * y[1] - U[2][5] * y[2] - U[3][5] * y[3] - U[4][5] * y[4]) / U[5][5];
 
//Ручной счёт xx
xx[5] = y[5];
xx[4] = y[4] - (L[5][4] * xx[5]);
xx[3] = y[3] - (L[4][3] * xx[4] + L[5][3] * xx[5]);
xx[2] = y[2] - (L[3][2] * xx[3] + L[4][2] * xx[4] + L[5][2] * xx[5]);
xx[1] = y[1] - (L[2][1] * xx[2] + L[3][1] * xx[3] + L[4][1] * xx[4] + L[5][1] * xx[5]);
xx[0] = y[0] - (L[1][0] * xx[1] + L[2][0] * xx[2] + L[3][0] * xx[3] + L[4][0] * xx[4] + L[5][0] * xx[5]);
Изначально это решение СЛАУ методом LU-разложения (с учётом, что на L и на U уже разложил до этого). Здесь у меня вышел так называемый прямой расчёт. Проблема лишь в том, что это актуально только для моей системы (6х6, а конкретнее массивы 0..5). Поэтому, да и просто для универсальности, желательно преобразовать эти два расчёта (y и xx) в циклы. Тут есть закономерность, если обратить внимание, просто я не очень понимаю как ее можно реализовать в цикле, пробовал многое, но не особо удачно. Заранее спасибо за помощь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2019, 00:15
Ответы с готовыми решениями:

Цикл с предусловием преобразовать в цикл с параметром
Необходимо переделать цикл с предусловием в цикл с параметром, но я не понимаю как Задание:...

Нужно преобразовать цикл for в while и do while
{ double x, h=1, g=1; Console.WriteLine("Введите значение x"); x =...

Преобразовать цикл в LINQ запросе
Не могу сообразить. Помогите :) private Dictionary<Terrain, Color> GetColors() { var content =...

Как бесконечный цикл преобразовать в Task?
Стоит задача, с определенной переодичностью отправлять запрос на сервер и узнавать загрузился ли...

4
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
28.04.2019, 00:26 2
Лучший ответ Сообщение было отмечено Jebvo как решение

Решение

Jebvo, для y (не тестил)
C++
1
2
3
4
5
6
7
    for (int i = 0; i < 6; ++i)
    {
        double sum = 0;
        for (int j = 0; j < i; ++j)
            sum += U[j][i] * y[j];
        y[i] = (b[i] - sum) / U[i][i];
    }
1
Изучающий
1 / 0 / 2
Регистрация: 22.01.2017
Сообщений: 115
28.04.2019, 00:33  [ТС] 3
Цитата Сообщение от zayats80888 Посмотреть сообщение
для y (не тестил)
Работает, а что с xx можно придумать?
0
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
28.04.2019, 00:35 4
Цитата Сообщение от Jebvo Посмотреть сообщение
Работает, а что с xx можно придумать?
почти аналогично, но у меня нет времени сейчас, может потом гляну
0
Изучающий
1 / 0 / 2
Регистрация: 22.01.2017
Сообщений: 115
28.04.2019, 00:45  [ТС] 5
Цитата Сообщение от zayats80888 Посмотреть сообщение
почти аналогично
Действительно, аналогично. Спасибо, разобрался.
C++
1
2
3
4
5
6
7
for (int i = 5; i >= 0; --i)
{
   double sum = 0;
   for (int j = 5; j > i; --j)
      sum += L[j][i] * xx[j];
   xx[i] = (y[i] - sum);
}
0
28.04.2019, 00:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2019, 00:45
Помогаю со студенческими работами здесь

Как преобразовать цикл для вывода сотрудников по отделам
#include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;string.h&gt; #include &lt;windows.h&gt; #include...

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать...

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на...

Написать в турбо паскале, Цикл с параметром, Цикл, с постусловием, и с предусловием пожалуйста


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

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