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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Дашенька
8 / 0 / 0
Регистрация: 23.06.2011
Сообщений: 12
#1

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

23.06.2011, 17:05. Просмотров 1283. Ответов 4
Метки нет (Все метки)

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

C++ Выяснить, какие цифры (по одной справа и слева) надо приписать к числу 1022, чтобы полученное число делилось на 7, 8, 9.
C++ Ввести натуральное число и определить, какие цифры встречаются несколько раз.
C++ Задача 56. Выяснить, какие цифры (по одной справа и слева) надо приписать к числу 1022,
Ввести с клавиатуры целое положительное число. Напечатать его цифры через пробел в прямом порядке C++
C++ Дано двузначное число. Определить: одинаковы ли его цифры
Дано двузначное число. Определить: начинается ли оно с четной цифры C++
C++ Ввести с клавиатуры трехзначное число и найти произведение первой и второй цифры. А также определить четность третей цифры
C++ Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры
C++ Какие цифры (по одной справа и слева) надо приписать к числу 1022, чтобы полученное число делилось на 7, 8, 9
C++ Ввести натуральное число и определить, какие цифры встречаются несколько раз
C++ Ввести число, занести его цифры в стек. Вывести в число, у которого цифры идут в обратном порядке
Разделить целое число на цифры и поместить в массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4256 / 2788 / 219
Регистрация: 12.12.2009
Сообщений: 7,116
Записей в блоге: 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++
2842 / 1779 / 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
Эксперт С++
1897 / 1429 / 106
Регистрация: 29.05.2011
Сообщений: 2,985
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 последние цифры в одномерный массив.
Ответ Создать тему
Опции темы

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