Задача 2.
Разведчики
получили шифрованную радиограмму. Для ее расшифровки надо знать специальный
ключ, который они получили вместе с радиограммой отдельной строкой. Эта строка –
набор произвольных символов, среди которых обязательно будут цифры. Для
получения ключа найдите сумму цифр этой строки. Известно, что строка не длиннее
255 символов.
Входной файл –
строка не длиннее 255 символов.
Выходной файл –
ключ.
К чему сводится
условие задачи? У нас есть строка символов. Читаем строку. Если символ
совпадает с одной из цифр – добавляем его к сумме.
program Olimp_9_2;
var
i,sum:integer;
a:array[1..255] of char;
f,g:text;
begin
assign (f,'input.txt');
reset (f);
i:=1; - счетчик
элементов в массиве
sum:=0; -
начальное значение суммы
while not eof (f) do - пока есть
элементы в строке…
begin
read (f,a[i]); - читаем
элемент, загоняем его в массив
case a[i] of - если
элемент оказался цифрой – добавляем к сумме
'1': sum:=sum+1;
'2': sum:=sum+2;
'3': sum:=sum+3;
'4': sum:=sum+4;
'5': sum:=sum+5;
'6': sum:=sum+6;
'7': sum:=sum+7;
'8': sum:=sum+8;
'9': sum:=sum+9;
end; -
оператор case не содержит begin, но заканчивается end;
i:=i+1; - меняем счетчик
на 1
end;
close (f); - закрыли файл f
assign (g,'output.txt');
rewrite (g);
writeln (g,sum);
close (g);
end.
Вот и все...
Комментариев нет:
Отправить комментарий