Вопрос Программисты, помогите перевести на C++, строку из Pascal for i:=0 to count-1 do.

Регистрация
19 Окт 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
Я понял что это цикл for и подразумевает действие до начала цикла;
условие продолжения цикла;
действия в конце каждой итерации цикла, а тут не сходится
 
В паскале нумерация массивов по умолчанию с единицы и циклы прохода по значениям там выглядят обычно так: от 1 до кол. -ва for i:=1 to count do. у тебя начинается с нуля for i:=0 to count-1 do. и count-1 должен быть последним, на С это записывается обычно так for ( int i = 0 ; i < count ; i++ ) т. к. другой вариант "в лоб" for ( int i = 0 ; i <= count - 1 ; i++ ) менее привычный и менее удобочитаемый p.s. без оптимизации count - 1 будет считаться лишний раз на каждой итерации с оптимизациями (смотря с какими, конечно), вероятно, это будет одинаковый машинный код
 
Одно дополнение к предыдущим ответам. В паскале пределы цикла for вычисляются ОДИН раз до начала цикла. В Си (и в ++) условие пересчитывается КАЖДУЮ итерацию. Таким образом предыдущие ответы справедливы только в том случае, если значение count в теле цикла не изменяется.
 
Назад
Сверху