Перевод числа в систему счисления с основанием m (Паскаль -> Си) - C (СИ)
Формулировка задачи:
Const NMax=1000000000; var i,p,x,sys:integer; a:array[1..nmax] of byte; begin i:=0; ReadLn(x,sys); {Вводим число x которое необходимо перевести в систему исчисления с основанием m} p:=x; While p>0 do begin i:=i+1; a[i]:=p mod sys; p:=p div sys; end; Write(x,' в системе счисления- ',sys,' = '); for p:=i downto 1 do Write(a[p]); end.
Решение задачи: «Перевод числа в систему счисления с основанием m (Паскаль -> Си)»
textual
Листинг программы
#include <stdio.h> const int NMax = 100; int main() { int p,x,sys,i = 0; unsigned char a[NMax]; scanf("%d",&x); scanf("%d",&sys); p = x; while(p > 0) { i++; a[i] = p % sys; p /= sys; } printf("%d in scale of notation - %d = ",x,sys); for(int p = i; i > 0; i--) printf("%d",a[p]); }
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вводом/выводом данных
. - Объявление константы NMax равной 100, которая определяет максимальное количество разрядов числа, которое будет представлено в системе счисления с основанием m.
- В функции main() инициализируются переменные: — p,x,sys - целочисленные переменные, используемые в цикле; — i - счетчик, используемый в цикле; — a - массив символов, используемый для представления числа в системе счисления с основанием m.
- С помощью функции scanf() вводятся значения переменных x и sys.
- Переменная p инициализируется значением x.
- Запускается цикл, который выполняется до тех пор, пока p больше нуля.
- Внутри цикла выполняются следующие действия: — Увеличивается значение счетчика i. — В массив a[i] записывается остаток от деления p на sys. — Значение p уменьшается на sys.
- После выполнения цикла выводится сообщение с числом x в исходной системе счисления и числом sys, разделенными символом
-
. - Выполняется цикл, который выводит значения массива a, начиная с позиции i и до тех пор, пока i больше нуля.
- Значение i уменьшается на единицу на каждой итерации цикла.
- Каждое значение в массиве a[p] выводится на экран с помощью функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д