Given a string, the task is to find the average of ASCII values of characters in the string.
Examples:
Input: str = “for”
Output: 109
‘f’= 102, ‘o’ = 111, ‘r’ = 114
(102 + 111 + 114)/3 = 109Input: str = “geeks”
Output: 105
Source: Microsoft Internship Experience
Approach: Start iterating through characters of the string and add their ASCII value to a variable. Finally, divide this sum of ASCII values of characters by the length of the string i.e., the total number of characters in the string.
Implementation:
// C++ code to find average // of ASCII characters #include <bits/stdc++.h> using namespace std;
// Function to find average // of ASCII value of chars int averageValue(string s)
{ int sum_char = 0;
// loop to sum the ascii
// value of chars
for ( int i = 0; i < s.length(); i++)
{
sum_char += ( int )s[i];
}
// Returning average of chars
return sum_char / s.length();
} // Driver code int main()
{ string s = "GeeksforGeeks" ;
cout << averageValue(s);
return 0;
} // This code is contributed // by Subhadeep |
// Java code to find average of ASCII characters import java.io.*;
class GFG {
// Function to find average of ASCII value of chars
public static int averageValue(String s)
{
int sum_char = 0 ;
// loop to sum the ascii value of chars
for ( int i = 0 ; i < s.length(); i++) {
sum_char += ( int )s.charAt(i);
}
// Returning average of chars
return sum_char / s.length();
}
// Driver code
public static void main(String[] args)
{
String s = "GeeksforGeeks" ;
System.out.println(averageValue(s));
}
} |
# Python 3 code to find average # of ASCII characters # Function to find average # of ASCII value of chars def averageValue(s):
sum_char = 0
# loop to sum the ascii
# value of chars
for i in range ( len (s)):
sum_char + = ord (s[i])
# Returning average of chars
return sum_char / / len (s)
# Driver code if __name__ = = "__main__" :
s = "GeeksforGeeks"
print (averageValue(s))
# This code is contributed by ita_c |
// C# code to find average of // ASCII characters using System;
class GFG
{ // Function to find average of // ASCII value of chars public static int averageValue(String s)
{ int sum_char = 0;
// loop to sum the ascii value of chars
for ( int i = 0; i < s.Length; i++)
{
sum_char += ( int )s[i];
}
// Returning average of chars
return sum_char / s.Length;
} // Driver code public static void Main()
{ String s = "GeeksforGeeks" ;
Console.Write(averageValue(s));
} } // This code is contributed // by PrinciRaj1992 |
<script> // Javascript code to find average of ASCII characters // Function to find average of ASCII value of chars
function averageValue(s)
{
let sum_char = 0;
// loop to sum the ascii value of chars
for (let i = 0; i < s.length; i++) {
sum_char +=(s[i]).charCodeAt(0);
}
// Returning average of chars
return Math.floor(sum_char / s.length);
}
// Driver code
let s = "GeeksforGeeks" ;
document.write(averageValue(s));
// This code is contributed by avanitrachhadiya2155 </script> |
<?php // PHP code to find average // of ASCII characters // Function to find average // of ASCII value of chars function averageValue( $s )
{ $sum_char = 0;
// loop to sum the ascii
// value of chars
for ( $i = 0; $i < strlen ( $s ); $i ++)
{
$sum_char += ord( $s [ $i ]);
}
// Returning average of chars
return (int)( $sum_char / strlen ( $s ));
} // Driver code $s = "GeeksforGeeks" ;
echo averageValue( $s );
// This code is contributed // by 29AjayKumar ?> |
101
complexity Analysis:
- Time Complexity: O(l), where l is the length of the string.
- Auxiliary Space: O(1)
Approach:
- Initialize a variable sum to 0 to store the sum of ASCII value of all characters.
- Traverse the string and for each character, add its ASCII value to sum.
- Calculate the average by dividing sum by the length of the string.
Below is the implementation of the above approach:
#include <bits/stdc++.h> using namespace std;
int averageValue(string s)
{ int sum = accumulate(s.begin(), s.end(), 0, []( int acc, char c)
{ return acc + ( int )c; });
return sum / s.length();
} int main()
{ string s = "GeeksforGeeks" ;
cout << averageValue(s) << endl;
return 0;
} |
import java.util.*;
public class Main {
public static int averageValue(String s)
{ int sum = s.chars().sum();
return sum / s.length();
} public static void main(String[] args){
String s = "GeeksforGeeks" ;
System.out.println(averageValue(s));
}
} |
def averageValue(s):
sum = 0
for c in s:
sum + = ord (c)
return sum / / len (s)
s = "GeeksforGeeks"
print (averageValue(s))
|
using System;
public class Program
{ // Function to calculate the average ASCII value of characters in a string
public static int AverageValue( string s)
{
int sum = 0; // Initialize a variable to store the sum of ASCII values
// Iterate through each character in the input string
foreach ( char c in s)
{
// Add the ASCII value of the character to the sum
sum += ( int )c;
}
// Calculate and return the average value by dividing the sum by the length of the string
return sum / s.Length;
}
public static void Main( string [] args)
{
string s = "GeeksforGeeks" ; // Sample input string
int average = AverageValue(s); // Calculate the average ASCII value
// Display the result
Console.WriteLine(average);
}
} |
// Function that returns the average ASCII value of characters in a string function averageValue(s) {
let sum = s.split( '' ).reduce((acc, c) => acc + c.charCodeAt(0), 0);
return Math.floor(sum / s.length);
} let s = "GeeksforGeeks" ;
console.log(averageValue(s)); |
101
Time Complexity: O(n), where n is the length of the string.
Auxiliary Space: O(1)