Исправить конвертированный код с 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д