Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
kochybei
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 3
1

Нахождение всех симметричных чисел в 4-х значном числе

26.06.2014, 19:02. Просмотров 1332. Ответов 17
Метки нет (Все метки)

Пример 1331,7667

Не понимаю с чего начать вообще программу, есть идея разбить на отдельные числа, но не понимаю как это реализовать, может кто подскажет, в нете искал, но там для паскаля все!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 19:02
Ответы с готовыми решениями:

Сравнение цифр в n-значном числе
int x, y, n=99; for(int i = 0; i <= n; i++) // проход по всем числам в...

Соседние цифры в N значном числе
Для n-значных чисел печатать только те, цифры которых являются соседними в...

Найти сумму цифр в 4-х значном числе
Пожалуйста помогите. С простенькой задачкой. Язык С. Задание: Вводится с...

Нахождение всех совершенных чисел.
Разработать программу и подпрограмму (подпрограммы), выполняющие нахождение...

Нахождение всех чисел кратных введенному
Написать программу нахождения всех чисел кратных введенному и таких, которые не...

17
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
26.06.2014, 19:23 2
От 0 до 99, исключая те что закачиваются на 0 (10 20 30 ...).
0
kochybei
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 3
26.06.2014, 19:25  [ТС] 3
эмм....не понимаю...их сравнивать надо? просто вообще не представляю что делать...
0
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
26.06.2014, 19:29 4
упрощу задачу. если рассматривать число слева направо, то все числа от 10 до 99. если справа налево то см пост №2
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,672
26.06.2014, 19:32 5
Цитата Сообщение от kochybei Посмотреть сообщение
код с чего начать, ни одного примера не нашел по подобной задаче
видать плохо искал даже на этом сайте куча решений, палиндром называется
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,672
26.06.2014, 19:47 6
Цитата Сообщение от kochybei Посмотреть сообщение
Ай все равно не понимаю
а так поймешь
C++
1
2
3
4
5
6
7
8
9
10
int a=0;
int b=n;
while(b)
{
a*=10;
a+=b%10;
b/=10;
}
if(a==n)
 // симетричное
1
EfimKR
55 / 28 / 13
Регистрация: 24.06.2014
Сообщений: 247
Записей в блоге: 1
26.06.2014, 20:49 7
kochybei, проблема не в понимании С++. А в понимании алгоритмов.
В этой программе число нужно разбивать на цифры, начиная с краев числа - получаем 1 и последнюю цифру и их сравниваем. Это всё делаем через цикл. Особо сложного ничего нету, нужно только над символьной реализацией подумать.
0
Drey4ik
1 / 1 / 1
Регистрация: 26.06.2014
Сообщений: 8
26.06.2014, 20:51 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
void  main()
{
    setlocale(0, "russian");
 
    int a;
    int b;
 
    cout << "Первое число: ";
    cin >> a;
    cout << "Второе число: ";
    cin >> b;
 
    if (a == b) cout << "Числа равны"<< endl;
    else cout << "Числа не равны" << endl;
        system ("pause");
 
};
вот от этого можешь оттолкнуться
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,672
26.06.2014, 20:52 9
Цитата Сообщение от EfimKR Посмотреть сообщение
нужно только над символьной реализацией подумать.
зачем символьная???
достаточно числовой
переворачиваем число и сравниваем с исходным
если равны то число симметрично

Добавлено через 46 секунд
Цитата Сообщение от Drey4ik Посмотреть сообщение
void main()
int main !!!!!!
0
Drey4ik
1 / 1 / 1
Регистрация: 26.06.2014
Сообщений: 8
26.06.2014, 20:54 10
Цитата Сообщение от ValeryS Посмотреть сообщение
int main !!!!!!
ну если так то после паузы ретурн а иначе можно и без него все равно возвращать нечего
0
EfimKR
55 / 28 / 13
Регистрация: 24.06.2014
Сообщений: 247
Записей в блоге: 1
26.06.2014, 20:54 11
Цитата Сообщение от ValeryS Посмотреть сообщение
зачем символьная???
Я имел ввиду, как реализовать это формулой. У меня идея была более заумная.
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,672
26.06.2014, 21:01 12
Цитата Сообщение от Drey4ik Посмотреть сообщение
а иначе можно и без него все равно возвращать нечего
стандарт нам не указ?
тогда не обижайтесь что программы рушатся
Цитата Сообщение от Drey4ik Посмотреть сообщение
а иначе можно и без него все равно возвращать нечего
возвращать нужно 0 при удачном завершении и другое число при аварийном
Система должна знать что случилось с программой

Добавлено через 1 минуту
Цитата Сообщение от EfimKR Посмотреть сообщение
Я имел ввиду, как реализовать это формулой.
ну для четырехзначного так
abcd=dcba
0
Drey4ik
1 / 1 / 1
Регистрация: 26.06.2014
Сообщений: 8
26.06.2014, 22:06 13
Надеюсь человек догадался что ему надо написать что-то вроде этого )
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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(0, "russian");
 
    char a[5];
    cout << "Введите четырехзначное число: ";
    cin >> a;
 
        if ((a[0] == a[3]) && (a[1] == a[2]))
 
            cout << "Число " << a << " симметрично" << endl;
 
        else
            cout << "Не симметрично"<< endl;
 
    system("pause");
 
    return 0;
};
только можно конечно симпатичней и компактней собрать но не хочется
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,672
26.06.2014, 22:26 14
Цитата Сообщение от Drey4ik Посмотреть сообщение
C++
1
2
3
char a[5];
    cout << "Введите четырехзначное число: ";
    cin >> a;
во первых вместо числа можно ввести неизвестно что, контроля то нет
"abba" симметричное число
во вторых
Цитата Сообщение от kochybei Посмотреть сообщение
Нахождение всех симметричных чисел в 4-х значном
ты все вручную собрался вводить? все 99 тысяч?
0
Drey4ik
1 / 1 / 1
Регистрация: 26.06.2014
Сообщений: 8
26.06.2014, 23:38 15
Потому и написал
Цитата Сообщение от Drey4ik Посмотреть сообщение
надо написать что-то вроде этого
я так думал ему начать только надо, а дальше он сам

Цитата Сообщение от kochybei Посмотреть сообщение
Не понимаю с чего начать вообще программу,
начнет просто со сравнения, а каким способом он это сделает пусть выберет, массив это будет или указатели, может вообще array или vector возьмет ) или new включит даже.

Цитата Сообщение от kochybei Посмотреть сообщение
не понимаю как это реализовать
намекнул мол по массиву пробежаться можно сравнивая начало с концом и центры

Цитата Сообщение от ValeryS Посмотреть сообщение
контроля то нет
isdigit(); пусть посмотрит

ну а если вот так серьезно отнестись то тогда нет контроля на количество символов, кто мне мешает 5 знаков ввести? получишь переполнение массива
Да и конечно ему цикл нужен, break, вывод симметричных чисел, не кучу слов "Симметрично" count++ может вставит для развлечения
В общем пусть развивается человек, направление указали ему
0
Kukurudza
105 / 86 / 13
Регистрация: 29.08.2012
Сообщений: 539
27.06.2014, 05:27 16
C++
1
2
3
4
5
for (int i = 1; i < 10; ++i) {
        for (int j = 0; j < 10; ++j) {
            std::cout << i << j << j << i << "\n";
        }
    }
1
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
27.06.2014, 10:17 17
kochybei, если задача стоит именно как
Нахождение всех симметричных чисел в 4-х значном числе
, то проще сделать как советует Kukurudza. Т.е. сформировать эти числа. А если нужно проверить некоторое заданное число на симметричность, то присмотритесь к ответам ValeryS.
0
kochybei
0 / 0 / 0
Регистрация: 26.06.2014
Сообщений: 3
28.06.2014, 20:39  [ТС] 18
Спасибо) оказалось все просто, все сделал
код такой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
for(int i=1;i<10;i++)
for (int j=0;j<10;j++) 
printf("%i%i%i%i " ,i,j,j,i,",");
system("pause");
return 0;
}
0
28.06.2014, 20:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2014, 20:39

Нахождение суммы кубов всех двузначных чисел, кратных 5
1. создать програму нахождения сумы кубов всех двозначных чисел кратных 5. ...

Циклы: нахождение суммы всех нечетных двухзначных чисел
Напишите пожалуйста программу для нахождения суммы всех нечетных двухзначных...

нахождение всех совершенных чисел среди элементов целочисленного массива ( С++ )
Привет всем))) Помогите пожалуйста! Разработать программу для нахождения всех...


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

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

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