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

Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Дашенька
8 / 0 / 0
Регистрация: 23.06.2011
Сообщений: 12
23.06.2011, 17:05     Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив. #1
Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив. Решить задачу в VC++.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2011, 17:05     Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
Посмотрите здесь:

C++ Выяснить, какие цифры (по одной справа и слева) надо приписать к числу 1022, чтобы полученное число делилось на 7, 8, 9.
Дано натуральное число N. Определить, является ли оно палиндромом. Число-палиндром можно читать справа налево и слева направо одинаково. Например, C++
C++ Дано натуральное число n (n <= 9999). Учитывая все четыре цифры числа, определить, правильно, что оно содержит: все разные цифры
C++ Дано двузначное число. Определить: одинаковы ли его цифры
C++ Ввести с клавиатуры трехзначное число и найти произведение первой и второй цифры. А также определить четность третей цифры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
23.06.2011, 17:56     Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<sstream>
int main(){
    int n;
    std::cout<<"Enter n: ";
    std::cin>>n;
    std::ostringstream os;
    os<<n;
    std::string str=os.str(),tmp(str);
    reverse(tmp.begin(),tmp.end());
    if(str==tmp)std::cout<<"symmetrically\n";
    else std::cout<<"not symmetrical\n";
    int wtf[3]={int(*(str.end()-3)-'0'),int(*(str.end()-2)-'0'),int(*(str.end()-1)-'0')};
    return 0;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.06.2011, 18:02     Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив. #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Дашенька Посмотреть сообщение
Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321)
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
2
3
std::string str=os.str(),tmp(str);
* * * * reverse(tmp.begin(),tmp.end());
* * * * if(str==tmp)std::cout<<"symmetrically\n";
C++
1
2
3
bool f(const std::string &num){
  return std::equal(num.begin(), num.begin() + num.length(), num.rbegin());
}
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
23.06.2011, 18:22     Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив. #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от asics Посмотреть сообщение
C++
1
2
3
bool f(const std::string &num){
  return std::equal(num.begin(), num.begin() + num.length(), num.rbegin());
}
C++
1
2
3
bool f(const std::string &num){
  return std::equal(num.begin(), num.begin() + num.length()/2, num.rbegin());
}
Kastaneda
23.06.2011, 18:26     Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
  #5

Не по теме:

Если вдруг вы в новостях увидите, что в Новосибирске летом пошел снег - знайте, это я начал разбираться в STL

Yandex
Объявления
23.06.2011, 18:26     Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru