В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Mooz
Mooz
16.07.2021 13:04 •  Информатика

Уменя в выдает ответ с 0 (0008). : перевод из десятичной системы в восьмеричную в паскале, используя while. найдите ошибку. program zad3; var n, k: integer; begin read(n); while n > 0 do begin k : = 64; write (n div k); write (n mod 8); n: =n div 8; n: = n mod k; k: =k div 8; end; end.

Показать ответ
Ответ:
siniTamy
siniTamy
03.10.2020 12:53
Исправил некоторые строки, добавил массив. Вот что вышло.
program zad3;
var
n,i,k: integer;
mas :array [1..20] of integer;
begin
read(n);
i:=1;
while n > 0 do
begin
mas[i]:=n mod 8;
n:=n div 8;
i:=i+1;
k:=k+1;
end;
  for i:=k downto 1 do write(mas[i])
end.
0,0(0 оценок)
Ответ:
mukhibamuz14
mukhibamuz14
03.10.2020 12:53
Можно вот так:
program zad3;
var
n, k, m: integer;
begin
write('n = ');
readln(n);
k:=1;
while k<=n do k:=k*8;
k:=k div 8;
m:=n;
while m > 7 do
begin
write (m div k);
m:=m mod k;
k:=k div 8;
end;
writeln(n mod 8);
end.

Пример:
n = 125
175
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота