Исправить конвертированный код с Pascal - C#
Формулировка задачи:
Переводил этот код с Pascal на C#
Получилось это, но на 24 строке выводит ошибку, помогите исправить.
Вводить нужно это:
100 у3 AS42 AS 22 77w.
А выводить это:
37
var
InS, Word: string;
Sum, Tmp, Num5, i: integer;
procedure StrToFiveInt(NumberStr: string; var NumberVar: integer; var ErrorCode: integer);
var
i, Pow:integer;
begin
NumberVar := 0;
Pow := 1;
ErrorCode := 0;
if length(NumberStr) = 0 then ErrorCode := 2
else
begin
for i := length(NumberStr) downto 1 do
begin
if (NumberStr[i]>='0') and (NumberStr[i]<='4') then
begin
NumberVar := NumberVar + (ord(NumberStr[i])-ord('0')) * Pow;
Pow := Pow * 5;
end
else
begin
ErrorCode := 1;
end;
end;
end;
end;
//Основная программа
begin
read(InS);
i := 1;
Word := '';
Sum := 0;
Tmp := 0;
for i := 1 to length(InS) do
begin
if (InS[i] = ' ') or (InS[i] = '.') then
begin
StrToFiveInt(Word, Num5, Tmp);
if Tmp = 0 then
begin
Sum := Sum + Num5;
end;
Word:='';
end
else
begin
Word := Word + InS[i];
end;
end;
StrToFiveInt(Word, Num5, Tmp);
if Tmp = 0 then
begin
Sum := Sum + Num5;
end;
write(Sum);
readln;
end.using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Program_1
{
class Program
{
static void StrToFiveInt(string NumberStr, int NumberVar, int ErrorCode)
{
int Pow = 1;
NumberVar = 0;
ErrorCode = 0;
if (NumberStr.Length == 0)
{
ErrorCode = 2;
}
else
{
for (int i = NumberStr.Length; i >= 0; i--)
{
if (NumberStr[i] >= '0' && NumberStr[i] <= '4')
{
NumberVar += Convert.ToByte(NumberStr[i]) - Convert.ToByte('0');
Pow *= 5;
}
else
{
ErrorCode = 1;
}
}
}
}
static void Main(string[] args)
{
string InS, Word;
int Sum = 0, Tmp = 0, Num5 = 0;
InS = Console.ReadLine();
Word = "";
for (int i = 0; i < InS.Length; i++)
{
if (InS[i] == ' ' || InS[i] == '.')
{
StrToFiveInt(Word, Num5, Tmp);
if (Tmp == 0)
{
Sum += Num5;
}
Word = "";
}
else
{
Word += InS[i];
}
}
StrToFiveInt(Word, Num5, Tmp);
if (Tmp == 0)
{
Sum += Num5;
}
Console.Write(Sum);
Console.ReadLine();
}
}
}Решение задачи: «Исправить конвертированный код с Pascal»
textual
Листинг программы
procedure StrToFiveInt(NumberStr: string; var NumberVar: integer; var ErrorCode: integer);