Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   Visual C++ / С/C++ (https://nowa.cc/forumdisplay.php?f=302)
-   -   Возрастающие вычисление (https://nowa.cc/showthread.php?t=152115)

Reder 17.03.2008 22:29

Возрастающие вычисление
 
Подскажите,пожалуйста, как организовать цикл, так чтобы при каждом следующем прохождении цикла счётчик увеличивался на 1. Т.е. ввели данные (2 параметра) -> подсчитали по формуле -> сохранили результат, затем занова ввели данные (4 параметра) -> но подсчитали формулу уже 2 раза. Итак 4 раза.
Мне кажеться,что нужно организовать 3 массива:
1-й - число раз повторения формулы (или переменная)
2-й - для хранения введённых параметров ( предыдущая стадия в 3-м массиве)
3-й - под сохранения результата.
Надо организовать ещё один массив - последовательный (int m[4]={1,2,3,4}) и класть каждый раз новое число в счётчик, но это мне кажется не вариант т.к. слижком громоздко.
P.S.
Подскажите хоть в какую сторону копать.:(

xhacker 17.03.2008 23:58

Ответ: Возрастающие вычисление
 
а цикл for не пробовал использовать?

zss 18.03.2008 07:23

Ответ: Возрастающие вычисление
 
Можно использовать двойной цикл:
Код:

int n=2,je=0;
int a[...];
do
{
  for(int j=0;j<n;j++)
  {
    je++;
    a[je]= ...;
  }
  n*=2;
}while(...);


Reder 20.03.2008 21:34

Ответ: Возрастающие вычисление
 
To xhacker: Понимаете, мне необходим как минимум тройной цикл, мне кажется это не хорошо. Хотя не уверен,что 3, т.к. как изменить число пар запросов?
Код:

int nd[max];
for(i=1; i<max; i=i+2)  //Примерно так?
{printf("TEXT \n", i, nd[i]);
}

Мне кажется должен быть вариант проще, чем 3-й цикл и мне не понятно как в массиве с введённой инфой переместить указатель на соответствующюю позицию (вроде, как в цикле прыгать через каждые 4 байта (через одно число) - это ещё цикл много как-то).Много как-то, мож другой вариант есть?

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(...);

:quest:

zss 21.03.2008 07:52

Ответ: Возрастающие вычисление
 
Зачем тройной цикл? Вам ведь нужно, чтобы для каждого последующего повторения количество параметров удваивалось. Это делается с помощью второго цикла, а критерий его завершения каждый раз меняется (n умножается на 2). Если Вас не устраивает, что все записывается в один массив, то заведите двумерный массив (правда тогда одна его половина окажется пустой).
je - общее количество выполнений формулы. a[je]=... выполнение формулы и запись результата в массив.


Текущее время: 18:43. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.02015 секунды с 9 запросами