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

Ответы 5

  • Массив - это такая "полка", на которой стоят цифры. Каждое место на полке пронумеровано и на полку ты можешь положить любое число, а в будущем, указав номер полки, вывести это число. Не знаю как еще проще объяснить :)
  • в данной программе я объявил массив под идентификатором "mas", целых чисел, с индексами от 1 до 20. Вот эта строчка mas :array [1..20] of integer;
  • Потом в программе я на каждую полку начиная с 1, клал число, которое получалось в остатке от деления числа n на 8. Потом на вторую полку тоже самое, на третью и т.д. пока n больше 0.
    • Автор:

      nana37
    • 5 лет назад
    • 0
  • Под конец я вывел эти числа в обратном порядке т.к. по правилам перевода систем счисления остаток записывается с конца
  • Без массива у тебя бы число получилось задом на перёд. Возможно, можно как-то сделать без него, я не задумывался
    • Автор:

      charles80
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years