Форум программистов, компьютерный форум, киберфорум
Наши страницы

Объяснить работу программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод двумерного массива http://www.cyberforum.ru/cpp-beginners/thread1196164.html
Нужно сделать вывод как на картинке. я пробовал но у меня возникли некоторые сложности for(int i = 0; i<26; ++i) { for ( int j=0; j<26; ++j) { ...
C++ Организовать класс треугольник, определенный по координатам вершин и содержащий конструктор, деструктор помогите пожалуйста исправить лабораторную, так как треугольник задан векторами, в нем надо убрать переменные Р h и Dlina и сделать функции возвращающими, задание гласит:Организовать класс... http://www.cyberforum.ru/cpp-beginners/thread1196153.html
Ввести одномерный массив из n элементов. Определить число различных элементов в нем C++
Возникла небольшая проблема. Нужно сделать элементарное задание, но чтобы было несколько функций пользователя. Задание: Ввести одномерный массив из n элементов. Определить число различных элементов в...
C++ Описание функции getopt
Распишите описание функции getopt и её использование с ключами.
C++ Ошибка при компиляции Unresolved external http://www.cyberforum.ru/cpp-beginners/thread1196095.html
Доброго времени суток. У меня в программе есть клас Masiv, объявленный с идентификатором extern. Далее я в одной из функцый его иницыализирую и исползую, а потом в и других функцыях исползую. Сам...
C++ Создать двухмерный динамический массив строк Ввести 2-мерный массив. Количество строк и столбцов заранее неизвестно. Признаком конца ввода строки - ввод указанной пользователем последовательности символов произвольно длины. Признаком конца... подробнее

Показать сообщение отдельно
yaStudent
2 / 2 / 0
Регистрация: 31.05.2014
Сообщений: 35

Объяснить работу программы - C++

02.06.2014, 07:30. Просмотров 540. Ответов 13
Метки (Все метки)

Здравствуйте. Такая задача была:
Задача 2. Дано натуральное число. Определить, является ли число палиндромом, т.е. читается одинаково слева направо и справа налево. Массивы и строки не использовать.
Нашёл на форуме подходящую рабочую программу, но не могу полностью понять (и объяснить), как она работает. Вроде в цикле с предусловием аналоги mod/div, а в цикле с параметром что - не понятно. Прошу объяснить работу программы полностью.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
using namespace std;
 
int main()
{
    int        a, d, m, n, f = 0;
 
    
cin >> d;
 
    for ( a = d, m = n = 1; a /= 10; m *= 10, n++ );
 
    a = d;
    n /= 2;
    while ( n-- ) {
        f |= ((d / m) % 10) ^ (a % 10);
        m /= 10;
        a /= 10;
    }
 
    cout << (!f ? "Yes" : "No") << endl;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru