Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

reshenie_zadachi_2

Решение задачи 2

  • Задача 2. Написать функцию, которая получает в качестве аргументов целое положительное число и систему счисления, в которую это число должно переводится (системы счисления от 2 до 36). Например, при переводе числа 27 в систему счисления 16 должно получиться 1B; 13 в 5-ю - 23; 35 в 18-ю - 1H.

Решение. Теория. Логика алгоритма: Для перевода целой части (или просто целого) числа необходимо разделить ее на (основание системы счисления) и продолжать делить частные от деления до тех пор, пока частное не станет равным 0. Значения получившихся остатков, взятые в обратной последовательности, образуют искомое число.

#include <stdlib.h>
#include <iostream>

using std::cin;
using std::cout;


int main() {
    int sysar[36];
    int num, sysnum, i=0,n;
    int ost, num1, resnum=0, count=1;

    cout<<"Enter integer number\n";
    cin>>num;
    cout<<"Enter system number\n";
    cin>>sysnum;

    while (num>0) {
        num1=num;
        num/=sysnum;
        ost=num1-num*sysnum;
        sysar[i]=ost;
        i++;
    }
    i--;
    for (;i>=0;i--){
        if (sysar[i]>=10){
            n=sysar[i]+55;
            cout<<char(n);
        }
        else  cout<<sysar[i];
    }
    cout<<"\n";

    return (EXIT_SUCCESS);
}



reshenie_zadachi_2.txt · Последние изменения: 2010/07/24 18:46 (внешнее изменение)