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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
#1

теория - C++

30.09.2010, 13:55. Просмотров 1792. Ответов 32
Метки нет (Все метки)

Добрый день!!! срочно нужины 2 примера :
1)чтобы нельзя было заменить цыкл for на while
и еще один пример когда есть цыкл while но его нельзя заменить на for?? помогите плиз сижу на экзамене
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2010, 13:55     теория
Посмотрите здесь:

Теория по С++ - C++
Здравствуйте. Необходимо ответить на вопрос, что такое идентификаторы, пунктуаторы, ключевые слова и операторы. Я искал в гугле по...

Теория - C++
Поясните мне, есл можете, что значит Описание используемых структур данных. в графе. P S оформляю отчет по курсовой

теория - C++
какя разница между кодами ? if(a>b) a++; b++; и if(a>b) a++;

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

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

Теория по С++ - C++
Помогите ответить на вопросы, очень нужно к экзамену. На что-то ответила, но не знаю правильно ли( 1. Что находится в списке...

Теория по С++ - C++
Помогите с вопросами по экзамену по файлам 10) Беззнаковые типы данных. 23) Объявление функции. 24) Определение функции. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.09.2010, 17:30     теория #21
ooki2day,
Разве пример корректен? Если не ошибаюсь, в форе увеличивается счётчик и проверяется условие не в конце нынешней итерации, а в начале новой (за исключением первой итерации).
Таким образом, эквивалентом приведённого вами for будет:

C
1
2
3
4
5
6
7
8
9
int i = -1;
 
while (i < 1)
{
    i++;
    
    if (i == 0)
        continue;
}
И он прекрасно отработает.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 17:31     теория #22
silent_1991, Да согласен. Но мне кажется это все же отличие while от for. Хотя могу ошибаться.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.09.2010, 17:34     теория #23
Lavroff,
В вашем примере, кстати, тоже надо было принициализировать i перед while минус единицей...
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 17:36     теория #24
silent_1991, А зачем -1? Чем ноль хуже в данном случае?
Ну чтобы верно отработало - да. Но это ведь не цель)
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.09.2010, 17:38     теория #25
Lavroff,
Ну хотя да, в данном случае не важно... Ибо условие i > 1; Но сами циклы не эквивалентны, ибо в while i на первой же итерации станет равняться 1, а в for i всё же начнёт с 0...
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
30.09.2010, 17:43     теория #26
silent_1991, Насчет этого согласен.
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.09.2010, 18:20     теория #27
Цитата Сообщение от silent_1991 Посмотреть сообщение
ooki2day,
Разве пример корректен?
Конечно не корректен. Там допущена очень грубая ошибка, о которой вы, собственно, и написали.

ooki2day, как может такой "преподаватель" принимать экзамен?
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.09.2010, 18:22     теория #28
M128K145,
Видимо, так же, как и задавать на этом самом экзамене подобные вопросы...
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
30.09.2010, 19:25     теория #29
M128K145, что за грубая ошибка?я имел в виду то, что перед i++ будет тело цикла.допустим,массив считать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
i=5;
while(i<10)
{
   mas1[i]=mas2[i];
   if(i==8)
      continue;
   i++;
}
 
for(i=5;i<10;i++)
{
   mas1[i]=mas2[i];
   if(i==8)
      continue;
}
допустим,надо этот элемент исключить,а остальные записать.разве for не запишет все,кроме одного?
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.09.2010, 19:31     теория #30
ooki2day,
Прочитайте мой пост №21 в этой теме.
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
30.09.2010, 19:42     теория #31
silent_1991, да!понял ошибку!!!хахахах)зато сессию закрыл)обязательно скажу ему про это)))
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.09.2010, 19:45     теория #32
Цитата Сообщение от ooki2day Посмотреть сообщение
допустим,надо этот элемент исключить,а остальные записать.разве for не запишет все,кроме одного?
В коде заметно явное не понимание работы этих циклов.
Вы хотите исключить девятый элемент. Пример фора написан верно, а вот с вайлом проблемы.
Дело в том, что когда в теле for встретился continue, то происходит переход на новую итерацию.
В цикле while должно происходить тоже самое, но это грубая ошибка программиста, который не обеспечивает переход на новую итерацию, не инкрементируя индекс, но начинаю новый проход тела, таким образом новая итерация не начинается, а повторяется старая. Вот правильная реализация этого действия теория
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2010, 23:06     теория
Еще ссылки по теме:

Теория - C++
Добрый день! Появились парa вопросов по теории. 1) Есть ли какая то разница между обращением p-&gt; и (*p). ? Если есть - то желательно...

Массивы теория - C++
Дано: В массиве двухбайтовых чисел, содержащем N элементов найти минимальное и максимальное значение и поменять их местами. Можно ли...

Теория графики - C++
Вобщем в кратце. Кто может подсказать литературу по теории графики? Если проще построение маленькой 2D игры и разные поведения главного...

Теория С++ (профан) - C++
Всем доброго времени суток! Такая вот ситуация: начался семестр и стали объяснять С++(три года гоняли просто по Си), преподаватель сам...

Теория вероятности - C++
Для участия в судебном процессе из 20 потенциальных кандидатов, среди которых 8 женщин и 12 мужчин, выбирают 6 присяжных заседателей. После...


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

Или воспользуйтесь поиском по форуму:
ooki2day
12 / 12 / 0
Регистрация: 23.10.2008
Сообщений: 281
30.09.2010, 23:06     теория #33
M128K145, да-да,я понял уже,написал же)))просто на нервах был)))
Yandex
Объявления
30.09.2010, 23:06     теория
Ответ Создать тему
Опции темы

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