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

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

16.03.2009, 16:54. Показов 1865. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru