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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
RockerSha
0 / 0 / 0
Регистрация: 05.10.2009
Сообщений: 22
#1

Степень симметрии - C++

30.11.2010, 09:59. Просмотров 2158. Ответов 3
Метки нет (Все метки)

Только прошу сделайте чем по проще. и через cin cout.

Степенью симметрии натурального числа назовём количество пар его десятичных цифр, в которых цифры совпадают и расположены симметрично относительно середины десятичной записи этого числа. Если некоторая цифра стоит посередине десятичной записи, её тоже нужно учитывать в паре с ней самой. Найти степень симметрии числа N.

Технические условия

Входные данные

В строке ввода содержится единственное натуральное число N (N < 2·109).

Выходные данные

Нужно вывести единственное число – степень симетрии числа N.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2010, 09:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Степень симметрии (C++):

Вычислить 10-ю степень двойки сложением, умножением и просто возведением в степень. - C++
Написать код на С++ или С# или на Java Вычислить 10-ю степень двойки 1 - сложением, умножением и просто возведением в степень.

Центр симметрии - C++
Совсем не могу написать код. Проверить или известный квадратный массив имеет центр симметрии. подскажите

Написать программу с функцией, вычисляющей целую степень дробного числа. Учесть,что степень может быть положительной, отрицательной, нулевой - C++
Написать программу с функцией, вычисляющей целую степень дробного числа. Учесть,что степень может быть положительной, отрицательной,...

Треугольник отобразить относительно оси симметрии - C++
Треугольник А(-4,-1) В(-2,-1) С(-1,-3) отобразить относительно оси симметрии Y= -X Помогите пожалуйста решить с помощью матриц

Имитация вращения дефиса вокруг центра симметрии - C++
Написать программу, выводящую на экран в течении N секунд имитацию вращения дефиса вокруг центра симметрии. Число N вводит пользователь....

Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии - C++
Дана квадратная матрица порядка . Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы.

3
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
30.11.2010, 13:08 #2
C++
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
26
27
28
29
30
31
32
33
34
#include <iostream>
 
int main()
{
    int N;
    std::cout << "N = ";
    std::cin >> N;
    int Size = 0, temp = N;
    
    while(temp != 0)
    {
        temp /= 10;
        Size++;            //кол-во цифр в числе
    }
    
    int *buf = new int [Size]; //массив цифр
    temp = N;
    int i = 0;
    while(temp != 0)
    {
        buf[i++] = temp % 10;
        temp /= 10;
    }
 
    int sim = 0;
    for(int i = 0; i < Size/2 + 1; i++)
        if(buf[i] == buf[Size - 1 - i])
            sim++;
 
    delete []buf;
    std::cout << sim << std::endl;
    system("Pause");
    return 0;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,811
30.11.2010, 13:34 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
 
int sym_level(int number){
    int lo, hi, cnt;
    
    for ( lo = 0, hi = (int)log10((double)number), cnt = 0; lo <= hi; ++lo, --hi )
        if ( ( (number / (int)pow(10.0, lo)) % 10 ) == ( (number / (int)pow(10.0, hi)) % 10 ) )
            ++cnt;
            
    return cnt;
}
 
int main(){
    int num;
    
    while ( std::cout << "Number: " && std::cin >> num && num > 0 )
        std::cout << "Symmetry level: " << sym_level(num) << std::endl;
    
    return 0;
}
0
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
30.11.2010, 20:14 #4
Для разнообразия без циклов:
C++
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
26
27
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <functional>
#include <iostream>
#include <sstream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::cout << "n = ";
    int  n = 0;
    std::cin >> n;
    std::ostringstream  sout;
    sout << n;
    T_str  num_str(sout.str());        
    T_str  num_str_res(num_str);
    std::transform(num_str.begin(), num_str.end(), num_str.rbegin(), 
                   num_str_res.begin(), std::minus<T_str::value_type>());    
    
    std::cout << "symm_power = "
              << std::count_if(num_str_res.begin(), num_str_res.end(), 
                               std::logical_not<T_str::value_type>())
                 + num_str.size() % 2
              << std::endl;    
}
0
30.11.2010, 20:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2010, 20:14
Привет! Вот еще темы с ответами:

Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++. - C++
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.

в двумерном массиве (NxN) произвести зеркальное отражение относительно вертикальной оси симметрии. - C++
в двумерном массиве (NxN) произвести зеркальное отражение относительно вертикальной оси симметрии.

Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии матрицы - C++
Здравствуйте! Помогите написать 3 программмы на C++ на задачи с двумерными массивами 3. Дана матрица размера M x N. Зеркально...

Содержимое матрицы размерности n x n повернуть на 90 по часовой стрелке вокруг центра симметрии матрицы. Исходная матрица вводится из файла - C++
Help me plz


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru