Wednesday, July 3, 2024
HomeData ModellingData Structure & AlgorithmProgram to find the initials of a name.

Program to find the initials of a name.

Given a string name, we have to find the initials of the name 

Examples: 

Input  : prabhat kumar singh
Output : P K S
We take the first letter of all
words and print in capital letter.

Input  : Jude Law
Output : J L

Input  : abhishek kumar singh
Output : A K S
  1. Print first character in capital. 
  2. Traverse rest of the string and print every character after space in capital letter.

Implementation:

C++




// C++ program to print initials of a name
#include <bits/stdc++.h>
using namespace std;
 
void printInitials(const string& name)
{
    if (name.length() == 0)
        return;
 
    // Since toupper() returns int, we do typecasting
    cout << (char)toupper(name[0]);
 
    // Traverse rest of the string and print the
    // characters after spaces.
    for (int i = 1; i < name.length() - 1; i++)
        if (name[i] == ' ')
            cout << " " << (char)toupper(name[i + 1]);
}
 
// Driver code
int main()
{
    string name = "prabhat kumar singh";
    printInitials(name);
    return 0;
}


Java




// Java program to print initials of a name
import java.io.*;
class initials {
     
    static void printInitials(String name)
    {
        if (name.length() == 0)
            return;
 
        // Since toupper() returns int,
        // we do typecasting
        System.out.print(Character.toUpperCase(
            name.charAt(0)));
 
        // Traverse rest of the string and
        // print the characters after spaces.
        for (int i = 1; i < name.length() - 1; i++)
            if (name.charAt(i) == ' ')
                System.out.print(" " + Character.toUpperCase(
                                        name.charAt(i + 1)));
    }
 
    // Driver code
    public static void main(String args[])
    {
        String name = "prabhat kumar singh";
        printInitials(name);
    }
}
 
// This code is contributed by Danish Kaleem


Python




# Python program to print
# initials of a name
 
# user define function
def printInitials(name):
    if(len(name) == 0):
        return
    print(name[0].upper()),
    for i in range(1, len(name) - 1):
        if (name[i] == ' '):
            print (name[i + 1].upper()),
 
def main():
    name = "Prabhat Kumar Singh"
    printInitials(name)
 
if __name__=="__main__":
    main()
 
# This code is contributed
# by prabhat kumar singh


C#




// C# program to print initials of a name
using System;
 
class initials {
     
    static void printInitials(String name)
    {
        if (name.Length == 0)
            return;
 
        // Since toupper() returns int,
        // we do typecasting
        Console.Write(Char.ToUpper(name[0]));
 
        // Traverse rest of the string and
        // print the characters after spaces.
        for (int i = 1; i < name.Length - 1; i++)
            if (name[i] == ' ')
                Console.Write(" " + Char.ToUpper(name[i + 1]));
    }
 
    // Driver code
    public static void Main()
    {
        String name = "prabhat kumar singh";
        printInitials(name);
    }
}
 
// This code is contributed by nitin mittal.


PHP




<?php
// php program to print initials of a name
 
function printInitials($name)
{
    if (strlen($name) == 0)
        return;
 
    // Since toupper() returns int, we do typecasting
    echo strtoupper($name[0]);
 
    // Traverse rest of the string and print the
    // characters after spaces.
    for ($i = 1; $i < strlen($name) - 1; $i++)
        if ($name[$i] == ' ')
            echo " " . strtoupper($name[$i + 1]);
}
 
// Driver code
$name = "prabhat kumar singh";
printInitials($name);
 
// This code is contributed by Sam007
?>


Javascript




<script>
    // Javascript program to print initials of a name
     
    function printInitials(name)
    {
        if (name.length == 0)
            return;
   
        // Since toupper() returns int,
        // we do typecasting
        document.write(name[0].toUpperCase());
   
        // Traverse rest of the string and
        // print the characters after spaces.
        for (let i = 1; i < name.length - 1; i++)
            if (name[i] == ' ')
                document.write(" " + name[i + 1].toUpperCase());
    }
     
    let name = "prabhat kumar singh";
      printInitials(name);
     
</script>


Output

P K S

Time Complexity: O(n), Here n is the length of the string.
Auxiliary Space: O(1), As constant extra space is used.

Another possible solution is given as follows:

C++




// C++ program to solve the above approach
#include <bits/stdc++.h>
using namespace std;
 
void printInitials(string name)
{
    if (name.length() == 0)
        return;
 
    // split the string using 'space'
    // and print the first character of every word
    stringstream X(name); // X is an object of stringstream
                          // that references the S string
 
    // use while loop to check the getline() function
    // condition
    while (getline(X, name, ' ')) {
        /* X represents to read the string from
         stringstream, T use for store the token string and,
         ' ' whitespace represents to split the string where
         whitespace is found. */
 
        cout << (char)toupper(name[0])<<" "; // print split string
    }
}
 
// Driver code
int main()
{
    string name = "prabhat kumar singh";
    printInitials(name);
    return 0;
}
 
// This code is contributed by gauravrajput1


Java




// Java program to print initials of a name
import java.io.*;
class initials {
     
    static void printInitials(String name)
    {
        if (name.length() == 0)
            return;
 
        //split the string using 'space'
        //and print the first character of every word
        String words[] = name.split(" ");
        for(String word : words) {
            System.out.print(Character.toUpperCase(word.charAt(0)) + " ");
        }
    }
 
    // Driver code
    public static void main(String args[])
    {
        String name = "prabhat kumar singh";
        printInitials(name);
    }
}


Python3




# Python3 program to print initials of a name
def printInitials(name):
     
    if (len(name) == 0):
        return
 
    # Split the string using 'space'
    # and print the first character of
    # every word
    words = name.split(" ")
    for word in words:
        print(word[0].upper(), end = " ")
 
# Driver code
if __name__ == '__main__':
     
    name = "prabhat kumar singh"
    printInitials(name)
 
# This code is contributed by mohit kumar 29


C#




// C# program to print initials of a name
using System;
 
public class initials {
     
    static void printInitials(String name)
    {
        if (name.Length == 0)
            return;
 
        //split the string using 'space'
        //and print the first character of every word
        String []words = name.Split(' ');
        foreach(String word in words) {
            Console.Write(char.ToUpper(word[0]) + " ");
        }
    }
 
    // Driver code
    public static void Main(String []args)
    {
        String name = "prabhat kumar singh";
        printInitials(name);
    }
}
 
// This code is contributed by gauravrajput1


Javascript




<script>
// javascript program to print initials of a name
    function printInitials( name) {
        if (name.length == 0)
            return;
 
        // split the string using 'space'
        // and print the first character of every word
        var words = name.split(" ");
     
        words.forEach(myFunction);
 
 
    }
    function myFunction(item) {
 document.write((item[0].toUpperCase()) + " ");
}
 
    // Driver code
        var name = "prabhat kumar singh";
        printInitials(name);
 
// This code is contributed by gauravrajput1
</script>


Output

P K S 

The time complexity of this code will be less than O(N) where N is number of words in sentence, which can be little better than number of characters in String. 

Space Complexity: O(N), where N is the length of the string. We need to store the entire string in the stringstream object.
This code is contributed by Anuj Khasgiwala

We can also use strtok() function in C/C++ to achieve this. 

This article is contributed by Prabhat kumar singh. If you like neveropen and would like to contribute, you can also write an article using write.neveropen.co.za or mail your article to contribute@neveropen.co.za. See your article appearing on the neveropen main page and help other Geeks. 

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments