Р. А. Юсупов, С. Н. Искандарова, Ш. Мирзанова C/C++ тилида топшириқ ва масалалар Самарқанд – 2013 йил


Download 1.35 Mb.
bet71/105
Sana13.04.2023
Hajmi1.35 Mb.
#1353566
TuriУчебник
1   ...   67   68   69   70   71   72   73   74   ...   105
Bog'liq
CPP masalalari1


Часть II. Решения 151
Задача 179
int osn.
n,
СП,
г;
char st[17];
int i;
//
//
//
//
//
//
//
// Преобразует десятичное число в другую
// систему счисления (от 2-х до 10-ти)
#include
#include
void mainO
{
основание системы счисления
исходное число
копия исходного числа
остаток от деления числа
на основание сист. счисл.
представление числа в заданной
системе счисления
printf("ХВведите целое число ->");
scanf("%d", &n);
printf("Введите основание системы счисления ->");
scanf("%d", &osn);
СП = n;
// делим исходное число на основание системы
// счисления до тех пор, пока остаток от деления
// больше основания системы счисления.
// Остаток от деления на каждом щаге - очередная цифра
st[16] ='\0';
i = 15;
do {
г = n % osn; // очередная цифра
п = п / osn; // целая часть деления
// printf("цифра:%d остаток:%d\n", r,n);
st[i—] = г + 48; // преобразование цифры в сР1мвол
} while ( п > 0);
// "сдвинем" сформированную строку в начало
i++;
int j = 0;
while(St[i])
st[j+-f] = st[i++];
st[j] = 40';
152 С/С+-^ в задачах и примерах
st[i—] = ' ';
printf("Десятичному числу %d соответствует ", сп);
printf("число %s по основанию %d\n", st, osn);
printf("\пДля завершения нажмите ");
getch();
Задача 180
// Преобразует десятичное число в шестнадцатеричное
#include
#include
void main()
{
int n; // Исходное число
int r; // Остаток от деления числа на основание
// системы счисления
char st[5]; // Представление числа в заданной
// системе счисления
int i;
printf("ХпПреобразование десятичного числа );
printf (."в шестнадцатеричное\п") ;
printf("Введите целое число ->");
scanf("%d", &п);
// делим исходное число на 16 до тех пор,
// пока остаток от деления больше 16
printf("ХпДесятичному числу %d", п);
printf(" соотвествует шестнадцатеричное ");
st[5] = 40';
i = 4;
do {
r=n%16; // очередная цифра
n=n/16/ // целая часть рез-та деления
if (г < 10)
st[i—] = г + 48; // (int) '0'=48, (int) •1»==49 и т. д.
else st[i~] = г + 55; // (int)'А'==65, (int)'В»==б6
// и т. д.
} while ( п > 0) ;

Download 1.35 Mb.

Do'stlaringiz bilan baham:
1   ...   67   68   69   70   71   72   73   74   ...   105




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling