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

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

Войти
Регистрация
Восстановить пароль
 
glushara
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 33
#1

Симметричные числа - C++

04.06.2013, 17:44. Просмотров 783. Ответов 2
Метки нет (Все метки)

Здравствуйте
нужно найти все симметричные числа на промежутке от а до b
не могу реализовать.
симметричные числа - это, например, 1221.
помогите кто то.
я так понимаю, нужно проверить или числа - палиндромы.
по форуму искал, но толком не нашел подходящего.спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 17:44     Симметричные числа
Посмотрите здесь:

симметричные числа C++ - C++
Помогите, пожалуйста, написать программу на языке C++: найти все симметричные числа в произвольном интервале интервале , квадраты которых...

Симметричные числа - C++
Симметричное число Дано четырехзначное число. Определите, является ли его десятичная запись симметричной. Если число симметричное,...

Найти все симметричные натуральные числа в промежутке от a до b - C++
{ unsigned long a,b,i; cin >> a; cin >> b; while (i>a) if (i%10==i/10) {cout <<i;i=i--;} else i=i--; } Всем...

Вывести симметричные слова - C++
Из введенного текста распечатать только те слова, которые симметричны(RADAR, ANNA). Желательно использовать string. Можно...

Симметричные слова в Visual c++ - C++
Помогите написать программу,которая в строке,введённой с клавиатуры находит и выводит симметричные слова! Плллииииззз!)

Симметричные элементы матрицы. - C++
Товарищи программисты, помогите решить задачу, хотя-бы составить алгоритм. дан двум массив 5*8 заменить все симметричный элементы на...

Найти симметричные слова в строке - C++
Дана строка, содержащая не более 40 символов, являющихся строчными латинскими буквами и запятыми. Последний символ – точка....

Напечатать симметричные слова из строки - C++
Доброго времени суток. Имеется такая задача: "Дана последовательность слов. Напечатать те слова последовательности, которые отличны от...

Напечатать симметричные слова из текста - C++
Необходимо напечатать симметричные слова из текста. мой код: #include <stdio.h> void main() { char S; char A; /*массив для...

Найти симметричные слова строки и указать их количество - C++
Дана строка. Найти симметричные слова строки и указать их количество.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.06.2013, 17:49     Симметричные числа #2
Переводите число в строку, строку проверяете палиндром ли она. На форуме примеров масса. Плохо искали.
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
04.06.2013, 18:09     Симметричные числа #3
Можно просто отщеплять разряды и сравнивать. Вот нашел когда то сделанный учебный пример для определения палиндрома. Работает только для 5-тиразрядных чисел.
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int main()
{
    int number = 0;
 
    while (number != -1)
    {
        cout << "Vvedite 5-teznashnoe chislo (-1 dl'a vuhoda): ";
        cin >> number;
        if (number == -1)
            break;
        if (number / 10000 == number % 10 && (number % 10000) / 1000 == (number % 100) / 10)
            cout << "Chislo " << number << " palindrom." << endl << endl;
        else
            cout << "Chislo " << number << " ne palindrom." << endl << endl;
    }
 
    system("pause");
    return 0;
}
А вот еще нашел функцию, которая отрывает разряды от числа любой разрядности. Служит для "переворачивания" числа (12345 --> 54321)

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
unsigned long rever(unsigned long number)
{
    unsigned long x = number, y = 1, sum = 0;
 
    if (number < 10)
        return number;
 
    while (number / y > 0)
    {
        x /= 10;
        y *= 10;
 
    } 
 
    y /= 10;
 
    for (unsigned long i = 10; i <= number; i *= 10)
    {
        sum += ((number % i) / (i / 10)) * y;
        y /= 10;
        x = i;
    }
 
    return sum + number / x;
}
Если эти 2 кода грамотно "склеить" и результат "положить" в цикл for, получится решение Вашей задачи.
Yandex
Объявления
04.06.2013, 18:09     Симметричные числа
Ответ Создать тему
Опции темы

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