![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Неактивный пользователь
Пол:
Регистрация: 05.01.2008
Адрес: РФ,Москва.
Сообщений: 28
Репутация: 5
|
Подскажите,пожалуйста, как организовать цикл, так чтобы при каждом следующем прохождении цикла счётчик увеличивался на 1. Т.е. ввели данные (2 параметра) -> подсчитали по формуле -> сохранили результат, затем занова ввели данные (4 параметра) -> но подсчитали формулу уже 2 раза. Итак 4 раза.
Мне кажеться,что нужно организовать 3 массива: 1-й - число раз повторения формулы (или переменная) 2-й - для хранения введённых параметров ( предыдущая стадия в 3-м массиве) 3-й - под сохранения результата. Надо организовать ещё один массив - последовательный (int m[4]={1,2,3,4}) и класть каждый раз новое число в счётчик, но это мне кажется не вариант т.к. слижком громоздко. P.S. Подскажите хоть в какую сторону копать. ![]() |
|
|
|
| Реклама: | сток бытовой техники | Сплит-система MDSAG-07HRDN8 / MDOAG-07HDN8 | ультразвуковые мойки | Полупромышленные кондиционеры Midea | лучшие модульные дома |
|
|
#2
|
|
а цикл for не пробовал использовать?
|
|
|
|
|
|
|
#3
|
|
Постоялец
![]() ![]() ![]() ![]() ![]() Пол:
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
|
Можно использовать двойной цикл:
Код:
int n=2,je=0;
int a[...];
do
{
for(int j=0;j<n;j++)
{
je++;
a[je]= ...;
}
n*=2;
}while(...);
__________________
Сергей Сергеевич Последний раз редактировалось zss; 18.03.2008 в 19:18.. |
|
|
|
| Сказали спасибо: |
|
|
#4
|
|
Неактивный пользователь
Пол:
Регистрация: 05.01.2008
Адрес: РФ,Москва.
Сообщений: 28
Репутация: 5
|
To xhacker: Понимаете, мне необходим как минимум тройной цикл, мне кажется это не хорошо. Хотя не уверен,что 3, т.к. как изменить число пар запросов?
Код:
int nd[max];
for(i=1; i<max; i=i+2) //Примерно так?
{printf("TEXT \n", i, nd[i]);
}
To zss: Я чесно говоря не совсем понял ваш код.Цикл как я уже сказал со стольким количеством изменений мне кажеться громоздним или здесь возможен только один вариант - цикл? Код:
int n=2,je=0; - n-число переменных, je-сколько раз выполняется
формула?
int a[...]; - массив для результатов?
do
{
for(int j=0;j<n;j++)
{
je++;
a[je]= ...; -тогда что значит эта строка?
}
n*=2;
}while(...);
![]() |
|
|
|
|
|
#5
|
|
Постоялец
![]() ![]() ![]() ![]() ![]() Пол:
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
|
Зачем тройной цикл? Вам ведь нужно, чтобы для каждого последующего повторения количество параметров удваивалось. Это делается с помощью второго цикла, а критерий его завершения каждый раз меняется (n умножается на 2). Если Вас не устраивает, что все записывается в один массив, то заведите двумерный массив (правда тогда одна его половина окажется пустой).
je - общее количество выполнений формулы. a[je]=... выполнение формулы и запись результата в массив.
__________________
Сергей Сергеевич Последний раз редактировалось zss; 21.03.2008 в 16:58.. |
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Вычисление в bat файле | Black_Swamp | Архив | 2 | 10.02.2009 19:02 |
| SMath Studio - вычисление математических выражений и построение графиков | Blackoff | Офис | 0 | 25.08.2006 12:28 |
|
|