Олимпиадный тренинг

Задача . 20188


Задача

Темы:
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех единиц; порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры – единицы и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно. Программист торопился и написал программу неправильно.
Паскаль Си
var N, R, T: longint;
   d: integer;
begin
(*)
(1)  readln(N);
(2)  R:=0;
(3)  T:=1;
(4)  while N>0 do begin
(5)    d := N mod 10;
(6)    if d<>1 then begin
(7)      R := R + d*T;
(8)      T := T+1
(9)    end;
(10)    N := N div 10;
(11)  end;
(12)  writeln(T);
end.
#include<stdio.h>
main(){
  int N, R, T;
  int d;
(*)
(1)  scanf("%d",&N);
(2)  R=0;
(3)  T=1;
(4)  while (N > 0) {
(5)    d = N % 10;
(6)    if (d!=1){
(7)       R = R + d*T;
(8)       T = T+1;
(9)    } 
(10)    N = N / 10;
(11)  }
(12)  printf("%d", T);
}

Последовательно выполните следующее.
1.       Напишите, что выведет эта программа при вводе числа 314.
2.       Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) Выпишите строку, в которой сделана ошибка.
2) Укажите, как исправить ошибку – приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

В качестве ответа загрузите исправленную программу, в которой добавлена строка на место (*). Строка должна содержать оператор вывода (с переходом на новую строку после выполнения) номеров строк, в которых допущена ошибка (выводить нужно ТОЛЬКО номера слитно без пробелов и запятых)
например:
Паскаль Си
...
begin
(*)  writeln('123');

... далее исправленная программа

end.
#include<stdio.h>
main(){
...
(*)  printf("123\n");
... далее исправленная программа
}
 


time 1000 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Free Pascal2
Python1
С++ Mingw-w6465
Комментарий учителя