 Open in App
Not now

# Sums of ASCII values of each word in a sentence

• Last Updated : 27 Jul, 2022

We are given a sentence of English language(can also contain digits), we need to compute and print the sum of ASCII values of characters of each word in that sentence.

Examples:

```Input :  GeeksforGeeks, a computer science portal for geeks
Output : Sentence representation as sum of ASCII each character in a word:
1361 97 879 730 658 327 527
Total sum -> 4579
Here, [GeeksforGeeks, ] -> 1361, [a] -> 97, [computer] -> 879, [science] -> 730
[portal] -> 658, [for] -> 327, [geeks] -> 527

Input : I am a geek
Output : Sum of ASCII values:
73 206 97 412
Total sum -> 788```

Approach:

1. Iterate over the length of the string and keep converting the characters to their ASCII
2. Keep adding up the values till the end of sentence.
3. When we come across a space character, we store the sum calculated for that word and set the sum equal to zero again.
4. Later, we print elements

Implementation:

## C++

 `// C++ implementation for representing``// each word in a sentence as sum of``// ASCII values of each word``#include ``#include ``#include ``using` `namespace` `std;` `// Function to compute the sum of ASCII values of each``// word separated by a space and return the total sum``// of the ASCII values, excluding the space.``long` `long` `int` `ASCIIWordSum(string str,``                          ``vector<``long` `long` `int``>& sumArr)``{` `    ``int` `l = str.length();``    ``int` `sum = 0;``    ``long` `long` `int` `bigSum = 0L;``    ``for` `(``int` `i = 0; i < l; i++) {` `        ``// Separate each word by``        ``// a space and store values``        ``// corresponding to each word``        ``if` `(str[i] == ``' '``) {` `            ``bigSum += sum;``            ``sumArr.push_back(sum);``            ``sum = 0;``        ``}``        ``else` `            ``// Implicit type casting``            ``sum +=  str[i];       ``    ``}` `    ``// Storing the value of last word``    ``sumArr.push_back(sum);``    ``bigSum += sum;``    ``return` `bigSum;``}``// Driver function``int` `main()``{``    ``string str = ``"GeeksforGeeks a computer science "``                 ``"portal for Geeks"``;``    ``vector<``long` `long` `int``> sumArr;` `    ``// Calling function``    ``long` `long` `int` `sum = ASCIIWordSum(str, sumArr);` `    ``cout << ``"Sum of ASCII values:"` `<< std::endl;``    ``for` `(``auto` `x : sumArr)``        ``cout << x << ``" "``;``    ``cout << endl  << ``"Total sum -> "` `<< sum;``    ``return` `0;``}`

## Java

 `// Java program for representing``// each word in a sentence as sum of``// ASCII values of each word``import` `java.util.*;``import` `java.lang.*;` `class` `Rextester {` `    ``// Function to compute the sum of ASCII values of``    ``// each word separated by a space and return the``    ``// total sum of the ASCII values, excluding the``    ``// space.``    ``static` `long` `ASCIIWordSum(String str, ``long` `sumArr[])``    ``{``        ``int` `l = str.length();``        ``int` `pos = ``0``;``        ``long` `sum = ``0``;``        ``long` `bigSum = ``0``;``        ``for` `(``int` `i = ``0``; i < l; i++) {` `            ``// Separate each word by``            ``// a space and store values``            ``// corresponding to each word``            ``if` `(str.charAt(i) == ``' '``) {` `                ``bigSum += sum;``                ``sumArr[pos++] = sum;``                ``sum = ``0``;``            ``}``            ``else` `                ``// Implicit type casting``                ``sum += str.charAt(i);           ``        ``}` `        ``// Storing the sum of last word``        ``sumArr[pos] = sum;``        ``bigSum += sum;``        ``return` `bigSum;``    ``}` `    ``// Driver function``    ``public` `static` `void` `main(String args[])``    ``{` `        ``String str = ``"GeeksforGeeks, a computer science portal for geeks"``;` `        ``// Counting the number of words in the input sentence``        ``int` `ctr = ``0``;``        ``for` `(``int` `i = ``0``; i < str.length(); i++)``            ``if` `(str.charAt(i) == ``' '``)``                ``ctr++;``        ` `        ``long` `sumArr[] = ``new` `long``[ctr + ``1``];` `        ``// Calling function``        ``long` `sum = ASCIIWordSum(str, sumArr);` `        ``// Printing equivalent sum of the words in the``        ``// sentence``        ``System.out.println(``"Sum of ASCII values:"``);``        ``for` `(``int` `i = ``0``; i <= ctr; i++)``            ``System.out.print(sumArr[i] + ``" "``);``        ``System.out.println();``        ``System.out.print(``"Total sum -> "` `+ sum);``    ``}``}`

## Python 3

 `# Python 3 implementation for representing``# each word in a sentence as sum of``# ASCII values of each word` `# Function to compute the sum of ASCII``# values of each word separated by a space``# and return the total sum of the ASCII``# values, excluding the space.``def` `ASCIIWordSum(``str``, sumArr):` `    ``l ``=` `len``(``str``)``    ``sum` `=` `0``    ``bigSum ``=` `0``    ``for` `i ``in` `range``(l):` `        ``# Separate each word by a space``        ``# and store values corresponding``        ``# to each word``        ``if` `(``str``[i] ``=``=` `' '``):` `            ``bigSum ``+``=` `sum``            ``sumArr.append(``sum``)``            ``sum` `=` `0``        ` `        ``else``:` `            ``# Implicit type casting``            ``sum` `+``=` `ord``(``str``[i])    ` `    ``# Storing the value of last word``    ``sumArr.append(``sum``)``    ``bigSum ``+``=` `sum``    ``return` `bigSum` `# Driver Code``if` `__name__ ``=``=` `"__main__"``:``    ` `    ``str` `=` `"GeeksforGeeks a computer science portal for Geeks"``    ``sumArr ``=` `[]` `    ``# Calling function``    ``sum` `=` `ASCIIWordSum(``str``, sumArr)` `    ``print``(``"Sum of ASCII values:"` `)``    ``for` `x ``in` `sumArr:``        ``print``(x, end ``=` `" "``)``        ` `    ``print``()``    ``print``(``"Total sum -> "``, ``sum``)` `# This code is contributed by ita_c`

## C#

 `// C# program for representing each``// word in a sentence as sum of``// ASCII values of each word``using` `System;` `class` `GFG {` `    ``// Function to compute the sum of ASCII``    ``// values of each word separated by a``    ``// space and return the total sum of``    ``// the ASCII values, excluding the space.``    ``static` `long` `ASCIIWordSum(String str, ``long` `[]sumArr)``    ``{``        ``int` `l = str.Length;``        ``int` `pos = 0;``        ``long` `sum = 0;``        ``long` `bigSum = 0;``        ``for` `(``int` `i = 0; i < l; i++) {` `            ``// Separate each word by``            ``// a space and store values``            ``// corresponding to each word``            ``if` `(str[i] == ``' '``)``            ``{``                ``bigSum += sum;``                ``sumArr[pos++] = sum;``                ``sum = 0;``            ``}``            ``else` `                ``// Implicit type casting``                ``sum += str[i];        ``        ``}` `        ``// Storing the sum of last word``        ``sumArr[pos] = sum;``        ``bigSum += sum;``        ``return` `bigSum;``    ``}` `    ``// Driver function``    ``public` `static` `void` `Main()``    ``{``        ``String str = ``"GeeksforGeeks, a computer "` `+``                     ``"science portal for geeks"``;` `        ``// Counting the number of words``        ``// in the input sentence``        ``int` `ctr = 0;``        ``for` `(``int` `i = 0; i < str.Length; i++)``            ``if` `(str[i] == ``' '``)``                ``ctr++;``        ` `        ``long` `[]sumArr = ``new` `long``[ctr + 1];` `        ``// Calling function``        ``long` `sum = ASCIIWordSum(str, sumArr);` `        ``// Printing equivalent sum of``        ``// the words in the sentence``        ``Console.WriteLine(``"Sum of ASCII values:"``);``        ``for` `(``int` `i = 0; i <= ctr; i++)``            ``Console.Write(sumArr[i] + ``" "``);``            ` `        ``Console.WriteLine();``        ``Console.Write(``"Total sum -> "` `+ sum);``    ``}``}` `// This code is contributed by nitin mittal`

## Javascript

 ``

Output

```Sum of ASCII values:
1317 97 879 730 658 327 495
Total sum -> 4503```

Time Complexity: O(N), as we are using a loop to traverse N times. Where N is the length of the string that is number of characters in the sentence.
Auxiliary Space: O(W), as we are using extra space for the sumArr. Where W is the number of words in the sentence.

My Personal Notes arrow_drop_up