Pulling Digits Out of String to Sum Them

How do I pull out every second digit from a string and sum them?

This is a rather unusual question, but it’s not that hard to accomplish.

What must iterate through each character of the string and”grab” the digits whose position is a multiple of two (2). There are acouple of ways to do this, but I took what I felt was the easierroute. Since this is more or less a binary problem, setting a Boolean valuewith each iteration works nicely. Here’s the logic:

  1. For all “odd” positions, set Boolean value to False;
  2. For all “even” positions, set Boolean value to True;
  3. If the Boolean value is true, grab that character and add it to a temporary buffer.
  4. Iterate through the buffer, and convert each character to an Integer while adding the converted value to an integer variable.

Here’s the code that accomplishes the above:

function AddEvenOrOddChars(S : String; OddOrEven : Boolean) : Integer;var  I   : Integer;  evn : Boolean;  buf : String;begin  Result := 0;  {If OddOrEven was passed as True, then the all odd positions   will be grabbed and summed. If False, then all even positions   will be grabbed and summed.}  evn := EvenOdd;  {First grab the even position characters}  for I := 1 to Length(S) do begin    if evn then      buf := buf + S[I];    {Set boolean to its opposite regardless of its current value.     If it’s currently true, then we’ve just grabbed a character.     Setting it to False will make the program skip the next one.}    evn := NOT evn;  end;  {Now, iterate through the buffer variable to add up the individual   values}  for I := 1 to Length(buf) do    Result := Result + StrToInt(buf[I]);end;

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS