Count and Print the alphabets having ASCII value in the range [l, r]

Given a string str, the task is to count the number of alphabets having ascii in the range [l, r].

Examples:

Input: str = "geeksforgeeks"
        l = 102, r = 111
Output: Count = 6, Characters = g, f, k, o
Characters - g, f, k, o have ascii values in the range [102, 111].

Input: str = "GeEkS"
        l = 80, r = 111
Output: Count = 3, Characters = e, k, S 

Approach: Start traversing the string and check if the current character has ASCII value less than equal to r and greater than equal to l. If yes then increment the count and print that element.



Below is the implementation of above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation of the above approach
#include <bits/stdc++.h>
using namespace std;
  
// Function to count the number of
// characters whose ascii value is in range [l, r]
int CountCharacters(string str, int l, int r)
{
    // Initializing the count to 0
    int cnt = 0;
  
    int len = str.length();
    for (int i = 0; i < len; i++) {
  
        // Increment the count
        // if the value is less
        if (l <= str[i] and str[i] <= r) {
            cnt++;
            cout << str[i] << " ";
        }
    }
  
    // return the count
    return cnt;
}
  
// Driver code
int main()
{
    string str = "geeksforgeeks";
    int l = 102, r = 111;
  
    cout << "Characters with ASCII values"
            " in the range [l, r] are \n";
    cout << "\nand their count is " << CountCharacters(str, l, r);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java implementation of the above approach
import java.util.*;
import java.lang.*;
  
class GFG
{
// Function to count the number 
// of characters whose ascii 
// value is in range [l, r]
static int CountCharacters(String str, 
                        int l, int r)
{
    // Initializing the count to 0
    int cnt = 0;
  
    int len = str.length();
    for (int i = 0; i < len; i++) 
    {
  
        // Increment the count
        // if the value is less
        if (l <= str.charAt(i) && str.charAt(i) <= r) 
        {
            cnt++;
            System.out.print(str.charAt(i) + " ");
        }
    }
  
    // return the count
    return cnt;
}
  
// Driver code
public static void main(String args[])
{
    String str = "geeksforgeeks";
    int l = 102, r = 111;
  
    System.out.print("Characters with ASCII values" +
                " in the range [l, r] are \n"); 
    System.out.print("\nand their count is "
                CountCharacters(str, l, r));
}
}
  
// This code is contributed
// by Akanksha Rai(Abby_akku)

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 implementation of the above approach
  
# Function to count the number of characters 
# whose ascii value is in range [l, r]
def CountCharacters(str1, l, r):
      
    # Initializing the count to 0
    cnt = 0;
  
    len1 = len(str1)
    for i in str1:
          
        # Increment the count
        # if the value is less
        if (l <= ord(i) and ord(i) <= r):
            cnt = cnt + 1
            print(i, end = " "
          
    # return the count
    return cnt
  
# Driver code
if __name__=='__main__':
  
    str1 = "geeksforgeeks"
    l = 102
    r = 111
      
    print("Characters with ASCII values " + 
                "in the range [l, r] are")
    print("\nand their count is "
            CountCharacters(str1, l, r))
  
# This code is contributed by 
# Kirti_Mangal

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# implementation of the above approach
using System;
  
class GFG
{
// Function to count the number 
// of characters whose ascii 
// value is in range [l, r]
static int CountCharacters(string str, 
                           int l, int r)
{
    // Initializing the count to 0
    int cnt = 0;
  
    int len = str.Length;
    for (int i = 0; i < len; i++) 
    {
  
        // Increment the count
        // if the value is less
        if (l <= str[i] && str[i] <= r) 
        {
            cnt++;
            Console.Write(str[i] + " ");
        }
    }
  
    // return the count
    return cnt;
}
  
// Driver code
public static void Main()
{
    string str = "geeksforgeeks";
    int l = 102, r = 111;
  
    Console.Write("Characters with ASCII values" +
                   " in the range [l, r] are \n"); 
    Console.Write("\nand their count is "
                  CountCharacters(str, l, r));
}
}
  
// This code is contributed
// by Akanksha Rai(Abby_akku)

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
// PHP implementation of the above approach
  
// Function to count the number of
// characters whose ascii value is 
// in range [l, r]
function CountCharacters($str, $l, $r)
{
    // Initializing the count to 0
    $cnt = 0;
  
    $len = strlen($str);
    for ($i = 0; $i < $len; $i++) 
    {
  
        // Increment the count
        // if the value is less
        if ($l <= ord($str[$i]) && 
                  ord($str[$i]) <= $r)
        {
            $cnt++;
            echo $str[$i] ." ";
        }
    }
  
    // return the count
    return $cnt;
}
  
// Driver code
$str = "geeksforgeeks";
$l = 102;
$r = 111;
  
echo "Characters with ASCII values"
       " in the range [l, r] are \n";
echo "\nand their count is "
       CountCharacters($str, $l, $r);
  
// This code is contributed
// by ChitraNayal
?>

chevron_right


Output:

Characters with ASCII values in the range [l, r] are 
g k f o g k 
and their count is 6

Time Complexity – O(N)



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.