С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

30.06.2012, 03:00. Просмотров 898. Ответов 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2012, 03:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Несколько стартовых переменных в for (C++):

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

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

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

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

Поменять местами значения целых переменных х и у не используя дополнительных переменных - C++
Знаю, что это очень простая задача, но никак не могу сделать, пожалуйста помогите!!! Поменять местами значения целых переменных х и у не...

Даны 5 переменных a,b,c,d,e - необходимо каждой из этих переменных присвоить число из текстового документа - C++
Есть у меня текстовый документ, в котором записаны 5 чисел. Каждое число в новой строчке. Предположим: 893 42 8 745 43 Даны 5...

10
Andrey.K
343 / 264 / 15
Регистрация: 14.11.2010
Сообщений: 482
30.06.2012, 03:22 #2
Правильно так:
C++
1
for(int i=0,j=0-5,k=3;k<100;j++,k++,i++) { }
Объялено мб много переменный, а условие должно быть всегда одно.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,634
30.06.2012, 05:13 #3
второй int лишний
C++
1
for (int i = 0, x = 0; i < 5; ++i, ++x) {}
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
30.06.2012, 07:06 #4
Цитата Сообщение от Andrey.K Посмотреть сообщение
а условие должно быть всегда одно.
Да, но одно условие может быть и составным.
C++
1
2
3
4
5
for int i=0, j=2; k=4; (i<40)&&(k<10); ++i, ++j)
{
 ...
 k=...
}
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.06.2012, 07:28 #5
Цитата Сообщение от Andrey.K Посмотреть сообщение
Правильно так:
C++
1
for(int i=0,j=0-5,k=3;k<100;j++,k++,i++) { }
а условие должно быть всегда одно.
Или не одного:
C++
1
for( ; ; ) { }
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
30.06.2012, 07:48 #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Или не одного:
Тогда выход по брейку, что есть костыль. А кто на них ходит? Софту же не полагается инвалидность.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.06.2012, 08:10 #7
Цитата Сообщение от taras atavin Посмотреть сообщение
что есть костыль
Если можно, поподробнее. Выход из цикла по брейку - плохой стиль программирования?
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
30.06.2012, 09:05 #8
А разве хороший? Представь себе цик на тройку-пятёрку экранов по высоте и где нибудь в середи его торчит выход по брейку. А теперь прошу оценку времени, которое у тебя уйдёт на понимание того, как именно он выходит и по какому точно условию. Наличие брейка можно понять по бесконечному заголовку, а конкретное условие придётся долго искать. Если же условие вынесено в заголовок, то оно читается сразу. Можно ещё понять, если альтернативой будет комбинация континью с условием, тогда лучше уж брейк. А в остальных случаях следует избегать.
1
NeoXidizer
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 4
30.06.2012, 13:57  [ТС] #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 минут
да, так возможно, из-за опечатки выдавало не верный результат. Спасибо всем
0
silent_1991
01.07.2012, 18:24
  #10
 Комментарий модератора 
Продолжение обсуждения размеров циклов и производительности здесь.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.07.2012, 04:18 #11
Цитата Сообщение от taras atavin Посмотреть сообщение
Тогда выход по брейку, что есть костыль. А кто на них ходит? Софту же не полагается инвалидность.
А как тогда цитата из Страуструпа:"...Полезным примером использования цикла for является случай, когда явно не указывется условие завершения:
C++
1
2
3
for(;;) { // вечно
//...
}
0
06.07.2012, 04:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2012, 04:18
Привет! Вот еще темы с ответами:

9 стартовых страниц - Удаление вирусов
Доброго времени суток! Давненько я к вам не приходил. Недавно (15 минут назад), после прогулки по интернету начал ругаться аваст. Я...

Несколько переменных в empty? - PHP
Как написать IF(), чтобы была проверка нескольких переменных empty. И чтобы если хоть одна переменная не задана, то FALSE???

несколько переменных в texBox - C#
Здрасте.. нужно написать 2 переменные в текстбокс через тире.. я их написал а как тире туда засунуть хз..)) textBox1.Text...

Записать несколько переменных в одну - Perl
всем привет, подскажите пожалуйста как на Perl'е в переменную записать ($year+1900,&quot;-&quot;,$month+1,&quot;-&quot;,$day) пробовал так ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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