Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
NeoXidizer
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 4
#1

Несколько стартовых переменных в for - C++

30.06.2012, 03:00. Просмотров 884. Ответов 10
Метки нет (Все метки)

Возможна ли такая конструкция
C++
1
for (int i = 0, int x = 0; i < 5; ++i, ++x) {}
если да, то каков верный синтаксис?
Тот вариант, который я написал, выдает 3 ошибки:
error: expected unqualified-id before `int`
error: `x` was not declared in this score
error: expected `;` before `)` token
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2012, 03:00     Несколько стартовых переменных в for
Посмотрите здесь:

Pthread_create несколько переменных - C++
Доброго времени суток всем. Прошу сильно не пинать - новичек в C++ Взял пример из сети - работа сокетов и потоки, все работает: ...

Возвращение результатов функции в несколько переменных - C++
Здраствуйте, можно ли как-то припомощи оператора return вернуть несколько значений? Если да, то как после вызова функции вернуть первой...

Как вывести в название консоли несколько переменных? - C++
Как вывести в название консоли несколько переменных? Что-бы там было ( a = переменная и b = переменная ).

Как автоматически создать несколько переменных с разными именами? - C++
Товарищи программисты, есть строка с данными и в ней присутствуют точки, помогите пожалуйста написать цикл Который бы присваивал каждой...

Типы переменных. - C++
В чём проблема? 5806599110 - число слишком большое для типа long long? sizeof(long long) пишет, что 8 байт. Вывожу на экран через std::cout

Размеры переменных - C++
Здравствуйте! Простите за такой вопрос, но я до сих не понял что такое размер переменной. Объясните пожалуйста что такое...

Объединение переменных - C++
Заранее извиняюсь за возможную не корректность! Суть проблемы double a, b,c; c = a,b; нужно бы как то получить результат...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
30.06.2012, 03:22     Несколько стартовых переменных в for #2
Правильно так:
C++
1
for(int i=0,j=0-5,k=3;k<100;j++,k++,i++) { }
Объялено мб много переменный, а условие должно быть всегда одно.
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,049
30.06.2012, 05:13     Несколько стартовых переменных в for #3
второй int лишний
C++
1
for (int i = 0, x = 0; i < 5; ++i, ++x) {}
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.06.2012, 07:06     Несколько стартовых переменных в for #4
Цитата Сообщение от Andrey.K Посмотреть сообщение
а условие должно быть всегда одно.
Да, но одно условие может быть и составным.
C++
1
2
3
4
5
for int i=0, j=2; k=4; (i<40)&&(k<10); ++i, ++j)
{
 ...
 k=...
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.06.2012, 07:28     Несколько стартовых переменных в for #5
Цитата Сообщение от Andrey.K Посмотреть сообщение
Правильно так:
C++
1
for(int i=0,j=0-5,k=3;k<100;j++,k++,i++) { }
а условие должно быть всегда одно.
Или не одного:
C++
1
for( ; ; ) { }
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.06.2012, 07:48     Несколько стартовых переменных в for #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Или не одного:
Тогда выход по брейку, что есть костыль. А кто на них ходит? Софту же не полагается инвалидность.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.06.2012, 08:10     Несколько стартовых переменных в for #7
Цитата Сообщение от taras atavin Посмотреть сообщение
что есть костыль
Если можно, поподробнее. Выход из цикла по брейку - плохой стиль программирования?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.06.2012, 09:05     Несколько стартовых переменных в for #8
А разве хороший? Представь себе цик на тройку-пятёрку экранов по высоте и где нибудь в середи его торчит выход по брейку. А теперь прошу оценку времени, которое у тебя уйдёт на понимание того, как именно он выходит и по какому точно условию. Наличие брейка можно понять по бесконечному заголовку, а конкретное условие придётся долго искать. Если же условие вынесено в заголовок, то оно читается сразу. Можно ещё понять, если альтернативой будет комбинация континью с условием, тогда лучше уж брейк. А в остальных случаях следует избегать.
NeoXidizer
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 4
30.06.2012, 13:57  [ТС]     Несколько стартовых переменных в for #9
спасибо всем, и опять вопрос:
возможно ли? если да, то как
C++
1
2
3
for (int i = 0; i < 2; ++i) {
    for (int in = 0; i < (i ? 3 : 4); ++in) {}
}
тоесть при второй итерации, внутренний for будет выполняться 3 раза, при первой итерации - 4

Добавлено через 19 минут
C++
1
2
3
for (int i = 0; i < 2; ++i) {
    for (int in = 0; in < (i ? 3 : 4); ++in) {}
}
исправил опечатку

Добавлено через 12 минут
да, так возможно, из-за опечатки выдавало не верный результат. Спасибо всем
silent_1991
01.07.2012, 18:24
  #10
 Комментарий модератора 
Продолжение обсуждения размеров циклов и производительности здесь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2012, 04:18     Несколько стартовых переменных в for
Еще ссылки по теме:

Преобразование переменных - C++
Товарищи, подскажите пожалуйста как перевести из UnicodeString в char, const char и long? Гуглить не получается... Заранее благодарен! ...

типы переменных - C++
компилятор выдает ошибку Ошибка &quot;error C2062: тип &quot;long&quot; не требуется &quot;. меняю тип но все равно вылезает ошибка только тип...

Значение переменных - C++
Для Х, принимающего значения от XN до XK с шагом ∆X, определить Y. При условии: Y=A,если x&gt;g Y=B,если 0&lt;=x&lt;=g Y=C,если x&lt;0 ...

Объявление переменных - C++
Помогите с объявлением переменных, даны такие объявления: int m1; int *m2; int **m3; int m4; int *m5; int **m6; int (*m7); ...

Преобразование переменных - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { int j,i=5; string ss=5; char...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.07.2012, 04:18     Несколько стартовых переменных в for #11
Цитата Сообщение от taras atavin Посмотреть сообщение
Тогда выход по брейку, что есть костыль. А кто на них ходит? Софту же не полагается инвалидность.
А как тогда цитата из Страуструпа:"...Полезным примером использования цикла for является случай, когда явно не указывется условие завершения:
C++
1
2
3
for(;;) { // вечно
//...
}
Yandex
Объявления
06.07.2012, 04:18     Несколько стартовых переменных в for
Ответ Создать тему
Опции темы

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