Дано натуральное число N, не превосходящее 10
8. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех единиц. Ведущие нули выводить не надо. Если в числе N нет цифр кроме единиц и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 489, а при вводе 2001 нужно вывести 2. Для решения этой задачи ученик написал такую программу:
	 
	
		
			
				| Паскаль | Си | 
		
		
			
				| 
var n, m: longint;
    d: integer;
begin
(*)
(1)  read(n);
(2)  m := 0;
(3)  while n>=1 do begin
(4)    d := n mod 10;
(5)    if d > 1 then begin
(6)      m := 10*d + m;
(7)    end;
(8)    n:= (n – d) div 10;
(9)  end;
(10)  write(m);
end.
 | 
#include<stdio.h>
main(){
  int n, m,d;
(*)
(1)  scanf("%d",&n);
(2)  m=0;
(3)  while (n >= 1) {
(4)    d = n % 10;
(5)    if (d > 1){
(6)       m = 10*d + m;
(7)    } 
(8)    n = (n-d) / 10;
(9)  }
(10)  printf("%d", m);
} | 
		
	
 
Последовательно выполните следующее.
1.       Напишите, что выведет эта программа при вводе числа 1984.
2.       Приведите пример числа, при вводе которого программа выдаст верный ответ.
3.       Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: выпишите строку, в которой сделана ошибка, и приведите правильный вариант
строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
В качестве ответа загрузите исправленную программу, в которой добавлена строка на место (*). Строка должна содержать оператор вывода (с переходом на новую строку после выполнения) номеров строк, в которых допущена ошибка (выводить нужно ТОЛЬКО номера слитно без пробелов и запятых)
например:
	
		
			| Паскаль | Си | 
	
	
		
			| 
...
begin
(*)  writeln('123');
... далее исправленная программа
end.
 | 
#include<stdio.h>
main(){
...
(*)  printf("123\n");
... далее исправленная программа} 
 |