Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа для перевода чисел в др. систему исч. 
:(
    Опции темы
Ilmare
Дата 16.1.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 16.1.2008

Репутация: нет
Всего: нет



Здравствуйте! Прошу помочь в написании программы, которая переводит числа из 10-ти
ричной
 системы исчисления в 16-тиричную. Была написана с манипулятором hex, но требуют без него, написать алгоритм "вручную".
Если кто-то откликнется на мою просьбу и напишет - буду премного благодарна! Вы меня очень выручите тем самым!


Это сообщение отредактировал(а) Ilmare - 16.1.2008, 22:09
PM   Вверх
KA50
Дата 16.1.2008, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.1.2008

Репутация: нет
Всего: нет



Есть программа для Паскаля. Легко переделать для C++:
Код

var a : longint;

function DEC_HEX(x:longint):string;
const digits:array [0..15] of char = ('0','1','2','3','4','5','6','7',
                                      '8','9','A','B','C','D','E','F');
var res:string; d:0..15;
begin
   res:='';
   while (x<>0) do begin
      d:=x mod 16;
      x:=x div 16;
      res:=digits[d]+res;
   end;
   DEC_HEX:=res;
end;

begin
  readln( a );
  writeln( DEC_HEX(a) );
end.

 ! 
archimed7592
Не забываем пользоваться кнопкой "Код" или тэгами [code=xxx][/code]


Это сообщение отредактировал(а) archimed7592 - 17.1.2008, 14:16
PM MAIL   Вверх
TGrey
Дата 16.1.2008, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



А что это за запись такая? В первый раз вижу.
var res:string; d:0..15;
d:0..15;
PM MAIL   Вверх
KA50
Дата 17.1.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.1.2008

Репутация: нет
Всего: нет



d:0..15 - все целые числа от 0 до 15.
PM MAIL   Вверх
bsa
Дата 17.1.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Ilmare
Код
#include <iostream>
int main()
{
    std::cout << "Input number: " << std::flush;
    unsigned n;
    std::cin >> n;
    unsigned m = sizeof(n)*8 - 4;
    std::cout << "Hex value is: 0x";
    for(;!((0xF << m)&n); m-=4) //пропускаем ведущие нули
         if (!m)
             break;
    while(true) {
        char x = ((n>>m) & 0xF) + '0';
        if (x > '9')
             x = x - '9' + 'A' - 1;
        std::cout << x;
        if (!m)
           break;
        m -= 4;
    }
    std::cout << std::endl;
    return 0;
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.