ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн

if внутри циклов

Циклы и ветвления можно использовать совместно. Вы можете помещать ветв- ления внутрь цикла и наоборот, использовать вложенные ветвления и вложен- ные циклы. В следующем примере под названием PRIME ветвление if находится внутри цикла for. Программа определяет, является ли вводимое число простым

или нет (простым называется число, которое делится только на единицу и на само себя. Примерами простых чисел являются 2, 3, 5, 7, 11, 13 и 17).

 

// prime.cpp

// применение цикла if для определения простых чисел #include <iostream> using namespace std;

#include <process.h>    //для exit()

int main() {

unsigned long n,j; cout << "Введите число: ";

cin >>n;                        // ввод проверяемого числа

for (j=2; j <= n/2; j++)      // деление на целые числа, if(n%j == 0)          // начиная с 2; если остаток

{                //нулевой, то число не простое

cout << "Число не простое; делится на " << j << endl; exit(0); // выход из программы

}

cout << "Число является простым\n"; return 0;

}

В этом примере пользователь вводит значение, которое присваивается пере- менной n. Затем программа при помощи цикла for делит число n на все числа от 2 до n/2. Делителем является переменная j, служащая счетчиком цикла. Если чис- ло n разделится без остатка на какое-либо из значений j, то оно не будет прос- тым. Условием того, что одно число делится на другое без остатка, является равенство остатка от деления нулю. Поэтому в условии для if участвует опера- ция остатка от деления %. Если число оказывается не простым, то мы выводим соответствующее сообщение и выходим из программы.

Ниже приведен результат работы программы для трех последовательно вве- денных чисел:

Введите число: 13

Число является простым

Введите число: 22229

Число является простым

Введите число: 22231

Число не простое: делится на 11

Обратите внимание — тело цикла не заключено в фигурные скобки. Это объ- ясняется тем, что оператор if и операторы тела ветвления на самом деле явля- ются одним оператором. Для того чтобы улучшить читаемость кода, вы можете добавить фигурные скобки, но это не является обязательным для правильной работы компилятора.

 

25