uses crt;
const zn:string[8]='01234567';//цифры в СС 8
var s:string;
n,sum,sum2:longint;
i,j:integer;
k:byte;
c:char;
begin
clrscr;
writeln('Введите неотрицательное число в СС 8, окончание ввода пробел:');
s:='';
repeat
c:=readkey;//определяем код нажатой клавиши
if c in ['0'..'7'] then//если это цифры 0-7
begin
write(c);//выводим
s:=s+c;//пишем в строку
end
else if c=' 'then writeln;//если пробел, конец, на новую строку
until c=' ';
sum:=0;//число в СС 10
for i:=length(s)-1 downto 1 do// с предпоследней цифры строки
begin
if s[i] in ['1'..'7'] then//значащая цифра
begin
sum2:=ord(s[i])-48;//переводим ее код в десятичную цифру
for j:=1 to length(s)-i do//считаем разряды
sum2:=sum2*8;//возводим 8 в степень разряда
end
else sum2:=0;
sum:=sum+sum2;//полное число
end;
//если последняя значащая, то прибавляемм в СС 10
if s[length(s)]in ['1'..'7'] then inc(sum,ord(s[length(s)])-48);
s:='';//число в СС 5
while sum>0 do//пока десятичное больше ноля
begin
s:=zn[sum mod 5+1]+s;//в начало строки пишем остаток от деления на 5
sum:=sum div 5;//сокращаем в 5 раз
end;
write('Число в СС 5 = ',s);
readln
end.
Похожие записи/страницы:
- дано число в двоичной системе проверить правильность ввода этого числа(в его записи должны быть 0 и 1).если…
- Сравнить сумму элементов k-й строки и k-го столбца квадратной матрицы - Pascal(Паскаль)
- Составить программу ввода двух одномерных массивов A и И размерностью 2*n, A=|a1,a2,…a2*n|, B=| b1,b2,…b2*n| и…
- Дан двухмерный массив. Определить: в каком столбце массива сумма элементов меньше: во втором или в последнем -…
- Вычислить сумму и разность двух заданных одномерных массивов размером n - Pascal(Паскаль)
- Вводятся две последовательности целых чисел A и B. С помощью процедуры обеспечить поиск элементов, не входящих в…
- Даны 2 массива 10 целых чисел, найти сумму элементов кратных 3 и вывести номер отрицательных элементов - Pascal(Паскаль)
- Даны три матрицы А(3,5), В(6,4), С(7,2). Если сумма всех элементов матрицы больше 0, то у первого элемента этой…