C++ циклы
Цикл FOR в С++
Синтаксис:
for (переменная=начальное значение; условие; приращение значения) { оператор1; оператор2; }Пример:
for (int i=1; i<=10; i++) { cout << i << endl; }
Найти максимум из последовательности n вводимых целых чисел.
Выполнение:
- Создайте файл исходного кода main.cpp, заголовочный файл FindMax.h и файл для реализации функций FindMax.cpp.
- В коде main.cpp и FindMax.cpp подключите необходимые библиотеки и заголовочный файл:
- В файле main.cpp добавьте функцию для работы с кириллицей:
- Перейдите в файл main.cpp и в функции main() объявите переменные. Затем запросите там количество элементов массива:
- Перейдите в заголовочный файл и объявите функцию для поиска максимального числа с параметром — количество элементов массива:
- Реализацию функции будем осуществлять в файле FindMax.cpp. Добавьте код поиска максимального элемента из вводимых чисел:
- В файле main.cpp добавьте код вызова функции:
#include <iostream> #include <sstream> //тестирование операций с потоками #include "FindMax.h" #include <cstdlib> using namespace std; |
... int main() { setlocale(LC_ALL, "Russian"); ... |
... int n; cout<<"Введите n"<<endl; cin>>n; ... |
void FindMax (int n); |
... void FindMax (int n){ int max, x; cout<<"Введите "<<n<<" элементов"<<endl; cin>>max; for (int i=1;i<n; ++i) { cin>>x; if (x>max) max=x; } cout<<"Maximum = "<<max<<endl; } ... |
... FindMax(n); ... |
Создать проект. Реализацию всех требуемых функций размещать в дополнительном файле (.cpp), а в заголовочном файле — их описание. Реализовать задание в виде функции:
Даны два целых числа A и B (A < B). Вывести в порядке убывания все чётные числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.
Указания:
void
;-=
для счётчика цикла;Выполнение:
- Создайте файл исходного кода main.cpp, заголовочный файл cycle.h и файл для реализации функций cycle.cpp.
- В коде main.cpp и cycle.h подключите необходимые библиотеки и заголовочный файл:
- В файле main.cpp добавьте функцию для работы с кириллицей:
- Объявите и запросите две целочисленных переменных:
- Описание функции: перейдите в заголовочный файл и объявите функцию с двумя целочисленными параметрами, возвращающую пустое значение. Назовите ее notOdd:
- Установите курсор на описании и ждите, пока не появится символ лампочки слева. Щелкните по лампочке и выберите пункт «Создать определение в cycle.cpp».
- После чего перейдите в код реализации функции и добавьте код, предназначенный для обмена значений переменных a и b в случае, если a > b:
- Далее работаем с циклом. Поскольку в указании к заданию, сказано использовать операцию
-=
для счётчика цикла, то счетчик должен уменьшаться от большего значения (b) к меньшему (a): - Поскольку по условию задания функция ничего не возвращает (
void
), то вывод значения в консоль необходимо реализовать в самой функции: - Переключитесь на вкладку с файлом main.cpp и добавьте в код вызов функции:
- Запустите программу.
#include <iostream> #include <sstream> //тестирование операций с потоками #include "cycle.h" #include <cstdlib> using namespace std; |
... int main() { setlocale(LC_ALL, "Russian"); ... |
... int a,b; cout << "введите а и b, a < b" << endl; cin >> a >> b; ... |
void notOdd(int a, int b); |
... void notOdd(int a, int b) { int k=0; a>b ? swap(a, b) : a=a ; ... |
Тернарная операция в C++:
"условие" ? "выражение 1" : "выражение 2";Если условие истинно, то выполняется выражение 1, иначе (условие ложно) выполняется выражение 2.
Функция
swap()
:
Функция предназначена для обмена значений своих аргументов.
... for (int i = b; i >= a; i -= 1) { if (i % 2 == 0) { cout << i << " "; k++; } } |
... cout << "количество четных =" << k << endl; |
... notOdd(a, b); |
main.cpp | cycle.cpp | ||
|
|
Дано целое число. Найти количество его цифр и их сумму.
Указание:
Сигнатура функции должна выглядеть следующим образом:
void digitsCountAndSum(int n); |
Цикл С++ While
Цикл с предусловием. Пока условие истинно, выполняются операторы тела цикла.
Синтаксис:
while (условие) { оператор1; оператор2; … }Для выхода из цикла используется оператор
break;
Дана последовательность целых чисел (вводятся с клавиатуры), последний элемент которой — число 0. Найти сумму всех положительных элементов этой последовательности и количество её отрицательных элементов. Организовать функцию для выполнения задания.
Указание:
В подобных задачах следует использовать идиому «бесконечный цикл с выходом из середины». В коде программы это означает:
while(1>0) { if (...) break; } |
Дано вещественное число X и целое число N (> 0). Найти значение выражения:
1 + X + X2/(2!) + … + XN/N!
Организовать функцию для выполнения задания.
Указание:
Не использовать стандартную функцию возведения в степень, организовать «накопление» значений степени и факториала.