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

Уменя в выдает ответ с 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.

Показать ответ
Ответ:
песок3
песок3
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 оценок)
Ответ:
Kirilloo673
Kirilloo673
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-бота