Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [General] Цикл с удвоенным счетчиком. 
:(
    Опции темы
Vitaly333
Дата 30.9.2009, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 6.11.2006
Где: Volgograd

Репутация: нет
Всего: 2



Как сделать цикл, чтобы на каждой итерации цикла счетчик увеличивался на 2
Так правильно:
Код

do i=min,max,i+2
! do something
enddo

PM MAIL   Вверх
kemiisto
Дата 1.10.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Цитата(Vitaly333 @  1.10.2009,  00:18 Найти цитируемый пост)
Так правильно

Очень маловероятно. smile 

Задачу полностью можно услышать? А то непонятно, что именно тебе нужно.

Навскидку:
Код

PROGRAM app

  IMPLICIT NONE
  
  INTEGER, PARAMETER :: min = 0
  INTEGER, PARAMETER :: max = 100
  
  INTEGER :: i, h
  
  i = min
  h = 0
  
  DO WHILE (i <= max)
    PRINT *, i
    h = h + 2
    i = i + h
  END DO

END PROGRAM app


Это сообщение отредактировал(а) kemiisto - 1.10.2009, 00:02


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Фантом
Дата 11.10.2009, 14:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 5
Всего: 49



Цитата(Vitaly333 @  30.9.2009,  23:18 Найти цитируемый пост)
Так правильно:


Нет. Правильно так:
Код

do i=min,max,2
! do something
enddo

PM   Вверх
kemiisto
  Дата 11.10.2009, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Фантом, ты совершенно прав. smile 
Цитата(Vitaly333 @  1.10.2009,  00:18 Найти цитируемый пост)
Как сделать цикл, чтобы на каждой итерации цикла счетчик увеличивался на 2


Сейчас перечитал вопрос и ужаснулся. Я что-то перемудрил. Подумалось, что надо, чтобы на каждой итерации на 2 увеличивался шаг, а не счётчик. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
popovda
Дата 15.10.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



Не стоит изменять значения счетчика в циклах со счетчикомsmile Т.е. циклы do i =... (for-циклы). Косяки будут. Лучше в этих случаях использовать "глухой цикл"

Код

loop: do

...
if( условие ) exit loop
...
end do loop


Это сейчас рекомендуемая стандартом вместо цикла do while конструкция. Она и более гибкая, и более надежная, когда значения счетчика цикла меняются с каким-то переменным шагом.


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Fortran | Следующая тема »


 




[ Время генерации скрипта: 0.0772 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.