Автор |
Сообщение |
Катрин
Репутация: 0
Возраст: 19
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 4
Стаж: 1 год 4 месяца
|
[] 15.05.2007 13:16 Очень нужна HELP! |
|
|
Сост. программного преобразования числа из десятичной сист. счисления в шестнадцатиричную.
Плз, кто знает напишите! Вообще не понимаю, как это делать...
|
|
Вернуться к началу |
|
|
Sovie
Репутация: +20/–1
Пол:
Откуда: Санкт-Петербург
Сообщения: 787
Стаж: 2 года 7 месяцев
|
[] 15.05.2007 15:38 |
|
|
Милая Катрин, поскольку вы не указали, на каком языке должна быть написана программа, я оставляю выбор за собой. Прошу, вот вариант:
Код: Program MyDecToHex;
Var
N : LongInt;
function DecToHex (Value : LongInt) : String;
Const
Figures : Array [0..15] Of Char = ('0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F');
Var
Result : String;
Temp : 0..15;
Begin
Result := '';
While Value <> 0 Do
Begin
Temp := Value mod 16;
Value := Value div 16;
Result := Figures[Temp] + Result;
End;
DecToHex := Result;
End;
Begin
ReadLn(N);
WriteLn(DecToHex(N));
ReadLn;
End.
Удачи.
|
|
Вернуться к началу |
|
|
Катрин
Репутация: 0
Возраст: 19
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 4
Стаж: 1 год 4 месяца
|
|
Вернуться к началу |
|
|
Kabal
Инноватор-самоучка
Репутация: +19/–1
Возраст: 26
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 3252
Стаж: 2 года 9 месяцев
|
|
Вернуться к началу |
|
|
Катрин
Репутация: 0
Возраст: 19
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 4
Стаж: 1 год 4 месяца
|
|
Вернуться к началу |
|
|
dared3vil
Репутация: +3/–1
Возраст: 19
Гороскоп:
Пол:
Сообщения: 395
Стаж: 1 год 9 месяцев
|
[] 15.05.2007 17:35 |
|
|
Вот вариант на С++:
Код: void sts(int a, char *d)
{int b;
int i=0;
char r[20];
while (a!=0)
{
b=a%16;
a=a/16;
if (b<=9) r[i]=b+'0'; else r[i]=b+55;
i++;
}
int j;
int t;
t=i;
for (j=0;j<t;i--,j++)
{
d[j]=r[i-1];
}
d[j]=0;
}
void main()
{
char a[20];
int dd=5800;
sts(dd,a);
}
dd - число которое нужно преобразовать.
за помощь спасибо stasvp
Sovie
Kabal
что нить не правильное заметите, говорите =)
_________________ Сущее-Бытие выходят к свету многими путями
Все мы - ангелы, но только с одним крылом. И летать можем, лишь обнявшись друг с другом...
|
|
Вернуться к началу |
|
|
Sovie
Репутация: +20/–1
Пол:
Откуда: Санкт-Петербург
Сообщения: 787
Стаж: 2 года 7 месяцев
|
[] 15.05.2007 18:17 |
|
|
Вариант 1. Простота - страшная штука. В задании-то ничего не сказано.
Код: #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main (void) {
clrscr();
int n1 = 0;
printf("Enter n in dec -> ");
scanf("%d", &n1);
printf("n in hex -> %X", n1);
getch();
}
Вариант 2. Аналогичен приведённому на Pascal.
Код: #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
char* DecToHex(int lValue) {
char* FIGURES[16] = {"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "A", "B", "C", "D", "E", "F"};
char sResult[32] = "";
unsigned char ucTemp = 0;
while (lValue != 0) {
ucTemp = lValue % 16;
lValue /= 16;
char *sTemp = strcat(FIGURES[ucTemp], sResult);
strcpy(sResult, sTemp);
}
return sResult;
}
void main (void) {
clrscr();
int n;
printf("Enter <n> in dec, please -> ");
scanf("%d", &n);
printf("OK, n in hex -> %s", DecToHex(n));
getch();
}
|
|
Вернуться к началу |
|
|
Катрин
Репутация: 0
Возраст: 19
Гороскоп:
Пол:
Откуда: Санкт-Петербург
Сообщения: 4
Стаж: 1 год 4 месяца
|
[] 15.05.2007 18:22 |
|
|
СПАСИБО ВСЕМ БОЛЬШОЕ!!! Если бы не вы, тог я бы точно пропала!
|
|
Вернуться к началу |
|
|
|
|