Где я тут ошибся в кодировке - Pascal ABC

Формулировка задачи:

Добрый день, прошу вас помочь с кодировкой. В программе выделил места где не могу понять как получилось так. В общем проблема, необходимо чтобы программа считывала документ если находить необходимые символы в кодировке Анси, ну цифры в данном случае то она их должна суммировать и записать в файл аутпут. Но тут проблема, если стоят две подряд цифры то эти две должны быть представлены одной цифрой и сплюсовать в результат. как Пример. pdfh45./,4,3k Должно сплюсовать 45+4+3. Прошу вас помочь именно с моментом слияния двух цифр
program stroka3;
//uses crt;
var
stroka,strokares:text;
s,s2:string[80];
i,j,s1,sim:integer;
begin
assign(stroka,'stroka.txt');
assign(strokares,'strokares.txt');
reset(stroka);
while not EOF(stroka) do
//for i:=1 to length(s) do
begin
read(stroka,s);
for j:=1 to length(s)-1 do
begin
if (Ord (s[j])>=48) and (Ord (s[j])<=57) then /////Начиная отсюда
begin
if (Ord (s[j+1])>=45) and (Ord (s[j+1])<=65) then
begin
s2:=s[j]+s[j+1];
sim:=StrToInt(s2);
end;
else/// елсе не работает пможете подсказать почему?
sim:=StrToInt(s[j]);
s1:=s1+sim;/////И заканчивается здесь
end;
end;
end;
close(stroka);
begin
rewrite(strokares);
write(strokares,s1);
close(strokares);
end;
end.

Код к задаче: «Где я тут ошибся в кодировке - Pascal ABC»

textual
program stroka3;
var stroka,strokares:text;
    s,s2:string;
    i,j,sm:integer;
begin
assign(stroka,'stroka.txt');
assign(strokares,'strokares.txt');
reset(stroka);
rewrite(strokares);
while not EOF(stroka) do
 begin
  readln(stroka,s);
  sm:=0;
  i:=1;
  while i<=length(s) do
  if (s[i] in ['0'..'9'])and((i=1)or not(s[i-1] in ['0'..'9'])) then
   begin
    s2:='';
    j:=i;
    while(j<=length(s))and(s[j] in ['0'..'9']) do
     begin
      s2:=s2+s[j];
      j:=j+1
     end;
    sm:=sm+strtoint(s2);
    i:=i+length(s2)
   end
  else i:=i+1;
  writeln(strokares,sm)
 end;
close(stroka);
close(strokares);
write('Файл stroka.txt обработан и результат записан в файл strokares.txt')
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

12   голосов, оценка 4.500 из 5


СДЕЛАЙТЕ РЕПОСТ