Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Яростный кот
 Аватар для Tiami
43 / 1 / 0
Регистрация: 10.03.2009
Сообщений: 220

Кто обяснит как правильно строить циклы ставлю спасибо!

16.03.2009, 16:54. Показов 1891. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обидно мне читаю читаю а не понимаю циклы и не умею решать с ними задачи,прям серьездно обидно,обясните как их строить ветвления эти,как циклы строить правильно,логику в них соблюдать,а то если дальше не пойму,то капецПожалуйста если не трудно...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2009, 16:54
Ответы с готовыми решениями:

Может кто нибут обяснит что такое try, catch(...)?
Добрый вечер форум Может кто нит обияснит что такое try, catch(...)

Как правильно строить запрос
Доброго времени суток! Стал строить запрос в БД. Переставлял местами, переставлял... Чет допереть не могу... ...

Графика: как правильно строить графики?
Нужна инфа как строить правильно графики. Вот у меня есть код на постройку графика.Как мне самому выбирать по какому столбцу строить...

11
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
16.03.2009, 16:55
Конкретнее. Вот ты прочитал. Что именно тебе не понятно?
1
Яростный кот
 Аватар для Tiami
43 / 1 / 0
Регистрация: 10.03.2009
Сообщений: 220
16.03.2009, 17:01  [ТС]
Цитата Сообщение от Vourhey Посмотреть сообщение
Конкретнее. Вот ты прочитал. Что именно тебе не понятно?
Мне не понятно как рещать задачи с for и do,как использовать ветвления,в задачах и везде,строить формулы по циклам,организовывать просчеты по for,как описывать цикл do внутри там,много чеголучше все и сразу про всех обяснить

Добавлено через 30 секунд
Цитата Сообщение от Tiami Посмотреть сообщение
Мне не понятно как рещать задачи с for и do,как использовать ветвления,в задачах и везде,строить формулы по циклам,организовывать просчеты по for,как описывать цикл do внутри там,много чеголучше все и сразу про всех обяснить
Даже если и посмотреть все мои задачи у меня одни трудности с циклами
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.03.2009, 17:45
циклов три вида:

самый простой - while

Code
1
2
    while (1 < 2)
        printf("yes\n");
(1 < 2) - условие цикла while
printf("yes\n"); - тело цикла while

условие может принять одно из двух значений 0 и любое другое
0 - ложь
любое не ноль - истина (1, -1, 100, -500, 0.5 и т.д.)

когда ложь, тело цикла не выполняется
когда истина, тело цикла выполняется
тело цикла всегда выполняется только после проверки условия

результат операции сравнения < может быть 0 или 1
1 < 2 == 1
1 == 2 == 0
1 > 2 == 0
1 <= 2 == 1

по такому конечному значению будет решено выполнять тело цикла или не выполнять и закончить цикл

этот цикл получится бесконечным, потому что условие
1) истинно
2) не меняется

менять условие можно как в теле цикла, так и в самом условии

Code
1
2
3
    n = 5;    
    while (n--)
        ;
цикл 5 раз выполнит пустое тело

или

Code
1
2
3
    n = 5;    
    while (n)
        n--;
цикл 5 раз выполнит тело, в котором один оператор
цикл выполняется не потому что n == 5, а потому что 5 это не ноль, то же самое когда оно 4, 3, 2, 1
2
Яростный кот
 Аватар для Tiami
43 / 1 / 0
Регистрация: 10.03.2009
Сообщений: 220
17.03.2009, 11:54  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
самый простой - while
Плиз Распиши еще for у меня с ним трудности,особенно как составлять правильно этот цикл
0
 Аватар для Бартимеус
181 / 33 / 7
Регистрация: 29.10.2008
Сообщений: 283
17.03.2009, 13:41
for(переменная счетчик; условие выхода из цикла; изменение числа(например инкремент перменной счетка))
{
//сам цикл
}

вот сравнение с while:
C++
1
2
3
4
5
6
7
8
9
10
int i=0;
while(i<10)
{
   cout<<i<<endl;
  i++;
}
for(int i=0; i<10; i++)
{
   cout<<i<<endl;
}
огромной разницы нет, просто очень часто удобнее использовать for т.к. в одних скобках можно и инициализировать счетчик (или несколько, через запятую), и указать условие выхода, и дать значение на которое идет приращивание
1
Яростный кот
 Аватар для Tiami
43 / 1 / 0
Регистрация: 10.03.2009
Сообщений: 220
17.03.2009, 21:34  [ТС]
Цитата Сообщение от Бартимеус Посмотреть сообщение
вот сравнение с while:
и еще Цикл Do
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
17.03.2009, 21:44
Цитата Сообщение от Tiami Посмотреть сообщение
и еще Цикл Do
в прынципе тоже самое что и цыкл while , но он в любом случае выполнится хотябы один раз.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main()
{
    do 
    {
        cout<<"do .. while"<<endl;
    } while (false);
 
    return 0;
}
1
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
17.03.2009, 21:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
do
{
// код
} while (пока выполянется условие)
 
// например
int i=0;
do
{
   cout<<i<<endl;
   i++;
} while (i<10);
разница между do-while и while, в том, что цикл do-while выполнится хотя бы один раз... так как сначало идет выполнение кода... а потом роверка условия..и если условие выполняется..то код повторяется...
1
4 / 4 / 0
Регистрация: 15.02.2009
Сообщений: 30
17.03.2009, 21:59
Простой пример цикла for
C++
1
2
3
4
for (i=0; i>n; i++) // ++ инкремент добавляет еденицу к i, i=i+1
 //это счетчик. 
{ //твой код заключенный здесь будет выполняться n раз
}
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
18.03.2009, 04:44
цикл for

Code
1
2
    while (1 < 2)
        printf("yes\n");
Code
1
2
    for ( ; 1 < 2; )
        printf("yes\n");
так как он включает в себя заголовок всегда, все элементы заголовка подчёркиваются, даже если их нет; может не быть ни одного элемента заголовка цикла for, тогда пишут ( ; ; )

Code
1
2
3
    n = 5;    
    while (n--)
        ;
Code
1
2
    for (n = 5; n--; )
        ;
первый блок заголовка цикла for называется блоком инициализации, в него записываются не просто переменные какие-то там любые, а те переменные, которые управляют циклом, то есть, если у тебя есть переменные, которые можно туда вставить, но они не относятся к циклу (к управлению им), то лучше их туда не вставлять, а записать типа

Code
1
2
3
    a = 3;
    for (n = 5; n--; )
        ;
но если у тебя есть что-то, что всё таки относится к циклу, то можно

Code
1
2
3
    a = 3;
    for (printf("loop started\n") , n = 5; n--; )
        ;
внутри блока инициализации запятая совсем не такая, как у какой-нибудь функции при вызове, эта запятая - операция запятая, которая выполняется слева направо и возвращает тип и значение своего правого операнда

Code
1
2
3
    a = 3;
    for (printf("loop started\n") && (n = 5); n--; )
        ;
то есть здесь просто заменили операцию в блоке инициализации

второй блок, называется: блок условия

Code
1
2
    for (n = 5; n--; )
        ;
то есть если он истинен, выполнить тело один раз, там тоже набор операций канает, только результат блока проверяется на истинность

Code
1
2
    for ( ; printf(""); )
        ;
тело не выполнится ни разу, потому что функция printf возвращает количество выведенных символов или EOF если была ошибка в файле вывода (кстати EOF обычно равно -1, а это не 0, значит истина)

Code
1
2
    for ( ; printf("x"); )
        ;
здесь же наоборот, произойдёт зацикливание, так как printf каждый раз возвращает один, и тело снова и снова будет выполняться после проверки блока условия, так как в нём истина получается каждый раз после срабатывания функции

Code
1
2
    for (n = 5; n--; )
        ;
можно записать так

Code
1
2
    for (n = 5; n; )
        n--;
а можно записать вот так

Code
1
2
    for (n = 5; n; n--)
        ;
третий блок называется блок модификации, в него записываются операции для изменения переменной, относящейся к циклу (то есть так же как с первым блоком), если у тебя есть что-то, что ты можешь туда записать, но оно не относится к управлению циклом, то лучше этого не делать, а раз нужно, то можно оставить это в теле цикла

Code
1
2
3
4
    for (printf("loop started\n") , n = 5;
         n--;
         printf("loop continuing\n"))
        ;
то есть сделать не вот так, когда вывод работы цикла находится в блоке модификации, а вот так

Code
1
2
    for (printf("loop started\n") , n = 5; n--; )
         printf("loop continuing\n");
когда вывод работы цикла находится в теле

тело выполняется всегда, даже когда оно пустое, некоторые ставят его после цикла

Code
1
    for (n = 5; n--; );
когда кода много, его можно спутать с разделителем операторов, поэтому оно явно подчёркивается

Code
1
2
    for (n = 5; n--; )
        ;
потому что разделитель операторов не выполняется

Code
1
    for (n = 5; n--; )_________;
и тогда в коде вот этого места как бы не видно, хотя оно есть
1
Яростный кот
 Аватар для Tiami
43 / 1 / 0
Регистрация: 10.03.2009
Сообщений: 220
18.03.2009, 11:30  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
цикл for
На отлично
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2009, 11:30
Помогаю со студенческими работами здесь

Блог путешествий - как правильно строить семантическое ядро и организовывать фото?
сайт - дневник путешествий http://selftrips.ru/ 3.семантическое ядро Семантического ядра нет. Сначала вообще не знал о его...

Конструктор дерева (не бинарного). Или как вообще правильно строить дерево?
Хочу разобраться с деревьями, да что только не читал, не пересматривал - не могу разобраться. Для примера - хочу построить дерево такого...

Как правильно строить архитектуру для веб ресурса, у которого есть приложения на телефоны/таблеты
Посоветуйте ресурс - как правильно строить архитектуру для веб ресурса, у которого есть приложения на телфоны/таблеты - больлше всего...

Как правильно записать это выражение на C#. Спасибо
R=\left|\sqrt{sin^2 y+6.835}+e^x \right|

Подскажите пожалуйста! Как заполненить дневник к производственной практике, может знает кто как это делать? Заранее спасибо)
Собственно трудности вызывает таблица в которой надо написать что я делал Каждый день! Таблица из 2 столбцов Дата | Рабочее...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru