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

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


reshenie_zadachi_2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

reshenie_zadachi_2 [2019/02/28 21:12]
reshenie_zadachi_2 [2020/06/13 13:46] (текущий)
Строка 1: Строка 1:
 +====== Решение задачи 2. Написать функцию, которая получает в качестве аргументов целое положительное число ======
 +  * **Задача 2**. Написать функцию, которая получает в качестве аргументов целое положительное число и систему счисления, в которую это число должно переводится (системы счисления от 2 до 36). Например, при переводе числа 27 в систему счисления 16 должно получиться 1B; 13 в 5-ю - 23; 35 в 18-ю - 1H.
  
 +**Решение**. Логика алгоритма:  Для перевода целой части (или просто целого) числа необходимо разделить ее на (основание системы счисления) и продолжать делить частные от деления до тех пор, пока частное не станет равным 0. Значения получившихся остатков, взятые в обратной последовательности, образуют искомое число.
 +<file cpp>
 +#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);
 +}
 +</file>