С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Pavel Rem
11 / 11 / 0
Регистрация: 15.07.2016
Сообщений: 117
#1

Не получается создать правильный цикл - C++

04.09.2016, 23:30. Просмотров 191. Ответов 3
Метки нет (Все метки)

Нужен цикл который будет выполнять это:
C++
1
2
3
4
5
6
//1. Итерация
G[1] = M[K - 3][K - 1] - (G[0] * M[K - 3][K - 2]);
//2. Итерация
G[2] = M[K - 4][K - 1] - ((G[0] * M[K - 4][K - 2]) + (G[1] * M[K - 4][K - 3]));
//3. Итерация
G[3] = M[K - 5][K - 1] - ((G[0] * M[K - 5][K - 2]) + (G[1] * M[K - 5][K - 3]) + (G[2] * M[K - 5][K - 4]));
Количество итераций должно иметь возможность меняться не нарушая логику.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2016, 23:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается создать правильный цикл (C++):

Правильный ли цикл - C++
Хочу сделать в цикле следующее: есть массив из 1022 элементов из ноликов и единичек(Exit). Если нолик, то его заменяю на 40 и добавляю ещё...

Не получается запустить длинный код Алгоритма Гомори, код правильный. - C++
Собственно как запустить код через С++Builder 6 #include<ctype.h> #include<string.h> #include<conio.h> #include<stdio.h> ...

Не получается распараллелить цикл - C++
Добрый день! В ходе опытов я выяснил, что распараллеливание цикла for с помощью OMP не приносит выигрыша во времени. Т.е. код...

Нахождение заданного числа в массиве(не получается прокручивать цикл do while) - C++
Не пойму почему не прокручивается цикл ваил ведь условие(оно такое ради избежания лишних циклов) вроде-бы нормальное то что нужно! вот...

Необходимо добавить цикл поиска главного элемента по столбцу. никак не получается - C++
Нужно,чтобы был выбор программа искала максимальный элемент по столбцу и ставила его на 1 место....никак не могу добавить ........... ...

создать цикл - C++
есть запись for(...) if() { for(...) if() { for(...) if(){...} }

3
Ghost Writter
52 / 52 / 14
Регистрация: 09.12.2015
Сообщений: 214
05.09.2016, 00:51 #2
Pavel Rem, через рекурсию попробуй

https://code-live.ru/post/cpp-recursive-factorial-calculating/

Или можно сделать так:

M[K - 3][K - 1], M[K - 4][K - 1] и M[K - 5][K - 1] - это константы у тебя. Их вынесем за цикл.

Тогда в цикле останется:

i = 1 (G[0] * M[K - 3][K - 2]) (один элемент суммы)
i = 2 ((G[0] * M[K - 4][K - 2]) + (G[1] * M[K - 4][K - 3])) (два элемента суммы)
i = 3 три элемента суммы

Отсюда значит, что нужно найди формулу i-го элемента суммы. Получается:

G[i] * M[K - (количество элементов суммы + 2)][K - (i + 2)] (закономерность здесь достаточно просто найти)

Цикл в итоге:

Цикл i = 0, пока i < (количество элементов суммы), i++
Сумма += G[i] * M[K - (количество элементов суммы + 2)][K - (i + 2)];
Цикл конец;

После цикла отнимаешь сумму от константы.

Например:

G[2] = M[K - 4][K - 1] - сумма, где сумма:

первый элемент: G[0] * M[K - (2 + 2)][K - (0 + 2)] = G[0] * M[K - 4][K - 2]
второй элемент: G[1] * M[K - (2 + 2)][K - (1 + 2)] = G[1] * M[K - 4][K - 3]

Выражение получается: G[2] = M[K - 4][K - 1] - G[0] * M[K - 4][K - 2] + G[1] * M[K - 4][K - 3]

П.с. за псевдокод извиняюсь. Здесь я дилетант.
1
Pavel Rem
11 / 11 / 0
Регистрация: 15.07.2016
Сообщений: 117
05.09.2016, 01:25  [ТС] #3
Что то не получается. Где то ошибка, найти не могу(.
Попробую более подробно объяснить задачу. Глобальная задача - код решающий системы уравнений методом Гауса.
Мой код систему уравнений (к примеру) -
x2+y7+z3=25;
x4+y8+z2=12;
x5+y1+z7=5;
приводит к виду -
x1+y3+z2=5;
y1+z3=2;
z2=4;
Теперь можно вычислить z, зная z можно вычислить y, зная y и z можно вычислить x.
x=z/2;
y=2-3z;
z=5-2z-3y;
Для такого примера достаточно после основного вычислительного цикла написать 3 действия которые найдут x,y,z, но! код по заданию должен быть универсальным. К примеру если неизвестных будет не 3 а 4 или 5 или 6... то соответственно и уравнений будет больше, и для нахождения всех переменных нужно больше действий. Действия хоть и похожи но разные.
Если написать таких линейных действий на все случаи - преподаватель меня зарежет).
Вот эти действия и нужно свести к циклу.
0
Ghost Writter
52 / 52 / 14
Регистрация: 09.12.2015
Сообщений: 214
05.09.2016, 13:15 #4
Pavel Rem, лучше всего найди примеры на туториалах, а алгоритмы в книгах. На с++ в связи с учебой не практиковался уже больше чем пол года. Помочь мало с чем могу.
0
05.09.2016, 13:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2016, 13:15
Привет! Вот еще темы с ответами:

Не получается создать структуру - C++
struct _struct {}; Не могу создать структуру даже с любым другим название. До этого подключил несколько библиотек, видимо в них дело....

Не получается создать поток - C++
Здравствуйте. Есть код, создающий поток: #include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; #include &lt;process.h&gt; void inThread(void*...

Не получается создать файл - C++
Мучаюсь с этой проблемой уже третий день Вот код HANDLE hOut; TCHAR file = &quot;C:/TEST.txt&quot;; DWORD nL; TCHAR Buffer; ...

Не получается создать иерархию классов - C++
Пытаюсь реализовать что-то вроде шаблонного метода: основная логика отрисовки лежит в базовом классе Shape (какие цвета берем, что...


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

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

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