Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Инвертирование цифр

Ответить
Настройки темы
C/C++ - Инвертирование цифр

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте. Помогите решить задачу. Не могу разобраться с тем, что конкретно нужно сделать. Дано трехзначное число. Вывести число, полученное в результате инвертирования цифр исходного числа (язык С). Помогите пожалуйста с алгоритмом.

Отправлено: 20:34, 24-02-2014

 

Пользователь


Сообщения: 121
Благодарности: 35

Профиль | Отправить PM | Цитировать


Цитата alena_lep:
Вывести число, полученное в результате инвертирования цифр исходного числа »
Не понятно, что подразумевается под инвертированием. Возможно, нужно записать цифры в обратном порядке, тогда как то так:
Код: Выделить весь код
#include <stdio.h>

int main()
{
	int num, result = 0;
	scanf("%d",&num);
	result = num / 100 + (num % 100 - num % 10) + (num % 10) * 100;
	printf("%d",result);
	return 0;
}

Отправлено: 08:48, 25-02-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1853
Благодарности: 146

Профиль | Отправить PM | Цитировать


В Фортране можно проще (по крайней мере, по части записи):

1. Читаем число
2. print в символьную переменную
3. Меняем местами две позиции в этой переменной.

В С не секу, но вроде там тоже "печать" в переменную возможна.

Отправлено: 11:48, 25-02-2014 | #3


Аватара для Tau_0

Ветеран


Сообщения: 6211
Благодарности: 1393

Профиль | Отправить PM | Цитировать


Цитата torauma:
Возможно, нужно записать цифры в обратном порядке »
А если у нас Римские цифры, то как быть...???...

Отправлено: 15:00, 25-02-2014 | #4


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Tau_0:
А если у нас Римские цифры, то как быть...???... »
Так же, как с иероглифами, клинописью и кипу.

Отправлено: 15:21, 25-02-2014 | #5


Аватара для Tau_0

Ветеран


Сообщения: 6211
Благодарности: 1393

Профиль | Отправить PM | Цитировать


Цитата Iska:
Так же, как с иероглифами, клинописью и кипу. »
И какое представление группы перестановок можно в иероглифе навести, чтобы инвертированную цифру получить. --- Может на уши его поставить…???...

Отправлено: 15:51, 25-02-2014 | #6


Пользователь


Сообщения: 121
Благодарности: 35

Профиль | Отправить PM | Цитировать


Цитата Tau_0:
И какое представление группы перестановок можно в иероглифе навести, чтобы инвертированную цифру получить. --- Может на уши его поставить…???... »
Если сможете привести определение понятий "инвертированная цифра" и "представление группы перестановок", то можно будет и над иероглифами подумать.

Отправлено: 16:16, 25-02-2014 | #7


Аватара для Tau_0

Ветеран


Сообщения: 6211
Благодарности: 1393

Профиль | Отправить PM | Цитировать


Цитата torauma:
Если сможете привести определение понятий "инвертированная цифра" и "представление группы перестановок", то можно будет и над иероглифами подумать. »
Пожалуйста --- вкратце кое-какие определения есть...
Группы и их представления это из алгеры.
Группа перестановок
Представления перестановок, например, для кристаллографии хороши…

С числами понятно --- это из теории чисел…

Ивертированная 1 или 0 --- с ними тоже несложно. Восходят к разделу математической логики (узкое исчисление предикатов) в упрощении к Булевой логике/алгере… --- Отрицанием FALSE является TRU и наоборот…
Можно и целое число подобно арабскому по любому основанию, начиная с 2 разложить. Правда со строгим определением туговато, но выкрутиться можно, чтобы 0 и 1 трактовать, как антиподы и инвертировать друг в друга.

А вот инвертировать просто трехзначную цифру сумели разве что нумерологи и провели Ось Мира…
Метод числовых "зеркал"

Просто мне этот термин инвертированная цифра дюже не понравился… Уж поначалу захотелось в двоичное представление перевести и биты инвертировать... А затем обратно в десятичное --- совсем это не гуд, если ещё дополнительный код за уши притянуть...

Отправлено: 18:56, 25-02-2014 | #8


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Tau_0:
Уж поначалу захотелось в двоичное представление перевести и биты инвертировать... »
Аналогично , коллега.

Отправлено: 19:25, 25-02-2014 | #9


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Легко решается через динамический массив.
1. Вычисляем "длину" числа
2. Создаём массив ёмкостью в количество разрядов в числе
3. Отрываем разряды с заносом в массив
4. Выводим массив начиная с конца.

Или если не консольное приложение, допустим у нас есть
Edit - куда пишется число (строка чисел любого представления)
Label - куда будем выводить инвертированое число.
Button - кнопка по нажатию на которую будет происходить считывание и вывод итогового результата.

Код: Выделить весь код
#include "strutils.hpp" // Подключаем. Нужно для функции ReverseString()
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   String number = Edit->Text; // умышленно храним число как текст
   Label->Caption = ReverseString(number); // "переворачиваем" строку
}

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 19:49, 25-02-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Инвертирование цифр

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2003/XP/2000 - Слипание цифр при печати irvicon Microsoft Office (Word, Excel, Outlook и т.д.) 0 19-01-2014 10:53
Прочие - Инвертирование мыши Папуас Программное обеспечение Windows 1 09-11-2011 13:02
CMD/BAT - [решено] Инвертирование значения записи в реестре. RomanLis Скриптовые языки администрирования Windows 4 09-09-2011 16:22
[решено] символы вместо Цифр kovrovchanin Автоматическая установка Windows 2000/XP/2003 5 22-05-2010 12:48




 
Переход