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

Разбиение на слагаемые - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать в функции с рабочим указателем. http://www.cyberforum.ru/cpp-beginners/thread192831.html
1.void zadacha1(int n, int **a) { int max; int k=0,k1,k2=0,i,j; for (i=0; i<=n; i++) max=-INT_MAX; prosm(n,a);
C++ Из консольного в графический //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <conio.h> #include <stdio.h> #include <iostream.h> //--------------------------------------------------------------------------- #pragma argsused http://www.cyberforum.ru/cpp-beginners/thread192817.html
C++ Структуры,массивы
Необходимо сформировать массив структур. Структуры вводятся с клавиатуры. с клавиатуры вводится не вся структура, а только ее отдельные поля. Необходимо выполнить обработку сформированного массива структур и результаты обработки вывести на экран дисплея. В программе следует в максимальной степени использовать функции. Например, функции должны использоваться для ввода структур, обработки...
В текстовом файле записана формула. Вычислить значение данной формулы C++
1. В текстовом файле записана без ошибок формула вида: цифра или R(формула, формула), или L(формула, формула), где R обозначает функцию взять правое число, L – левое число. Вычислить значение данной формулы. Например: R(8, R(3, L(4,5))) = 4). #include <iostream> #include <conio.h> stek fail_is_ocheredi (stek *s) { struct stek *tmp1; tmp1 = s; if (ns == NULL) //при нулевом...
C++ Циклическая очередь http://www.cyberforum.ru/cpp-beginners/thread192805.html
Всем доброго времени суток.Нужно написать программу с функциями вставки нового эл-та, удаления произвольного эл-та, корректировки произвольного эл-та, вывода на экранЮ для циклической очереди.#include <iostream> #include <fstream> #include <windows.h> using namespace std; struct sp {char street; sp *next; sp *back;
C++ paskal. циклы вывести на экран натуральные числа лежащие в интервале и делящиеся нацело на 5 подробнее

Показать сообщение отдельно
archinko
13 / 13 / 2
Регистрация: 02.03.2010
Сообщений: 29
18.11.2010, 23:51     Разбиение на слагаемые
Попытаюсь) Ну для начала надо знать, что while бывает с предУсловием и с постУсловием. Цикл while выполняется до тех пор пока условие истинное (Истина на языке С/C++ это все что не ноль). То есть пока не ноль, цикл выполняеться.

Теперь немного о предусловии и постусловии.

Вот так выглядит while с предусловием:

while (условие)
{
код
}
В while с предусловием проверка условия идет в начале, а это значит, что если условие ложное (то есть 0) то цикл не выполниться ни разу.

Вот так выглядит while с постусловием:

do
{
код
}
while (условие); // обрати внимание, нужно обязательно поставить ";" после условия.
В while с постусловием проверка условия идет в конце, а это значит, что цикл в любом случае выполниться хотя бы один раз, даже если условие == ложь.

Вот пару примеров :
C++
1
2
3
4
5
6
7
int i=0;
 
while(i<2)
{
    printf("%i",i);
    i++;
} // Этот цикл выполниться два раза : 0 менше 2, 1 менше 2, но 2 уже не менше, по этому только два раза.
Точно такой же цикл но с постусловием :

C++
1
2
3
4
5
6
7
8
9
int i=0;
 
do
{
    printf("%i",i);
    i++;
}while(i<2); //Все выполниться точно так же как и в коде выше, а именно так : 1 раз код выполниться не 
//зависимо от того ложь или истина в условии, 2 раз будет выполняться, потому что 1 менше 2, ну а третий 
//раз не будет выполняться, потому что 2 не менше 2.
Вот еще пример что бы понять разницу между предусловием и постусловием :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int i=0;
 
while(i!=0) // "i не равно ноль" - не правда, i равно ноль, значит значение ложь и цикл не выполниться ни разу. 
//Кстати, как я писал выше, в языке СИ истина все что не ноль, а ноль соответсвенно ложь. Это значит, что 
//вместо while(i!=0) можно написать while(i). i=0, то есть ложь.
{
    printf("%i",i);
}
 
int i=0;
 
do
{
    printf("%i",i);
    
}while(i); // Этот цикл выполниться один раз, так как while с постусловием выполняеться в любом случае хотя бы один раз. Ну а так как i=0, цикл завершиться.
А так выглядит вечный цыкл :

C++
1
2
3
4
while(666)// вечная истина
{
    printf("Печаль(");
}
 
Текущее время: 16:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru