Zoho Advanced Programming Round Questions & Answers 2024 (Java/C/ C++/Python)

Zoho Advanced Programming Round Questions & Answers 2024 | Zoho Advanced Programming Round Questions  in Java | Zoho Advanced Programming Round Questions in Python | Zoho Advanced Programming Round Questions in C++

Zoho Advanced Programming Round Questions & Answers 2024:  From this article, you may obtain the Zoho Advanced Programming Questions/ Zoho Advanced Programming Questions With Solutions. Every Year the organization will conduct the selection process to select the capable candidates to fill various Roles. As of now, they are going to conduct the online test for multiple roles. Here we have separately proven the Zoho Advanced Programming Model Questions for both Freshers & Experienced candidates.

So read the entire article to get detailed information about the Zoho Advanced Programming Questions/ Zoho Advanced Programming Questions & Answers. Before attending any exams, you should prepare well with their frequently asked questions. To qualify for the test you must prepare well with this Zoho Advanced Programming Questions for Freshers. In the below section, you can get the SOTI Coding Round Questions. More details like Zoho Advanced Programming Round Questions and Answers, Cut Off, Salary, Hike, Increment, Annual Appraisal, etc. are available on this page

Zoho Advanced Programming Round Questions With Solutions

Q) Write a program that will take one string as input. The program will then remove vowels a, e, i, o, and u (in lower or upper case ) from the string. If there are two or more vowels that occur together then the program shall ignore all of those vowels.

Example 1

  • Input:  Cat
  • Output:  Ct

Example 2

  • Input:  Compuuter
  • Output: Cmpuutr

C++  PROGRAM

#include<bits/stdc++.h>
using namespace std;int main()
{
    string s;
    int c=0;
    getline(cin,s);
    for (auto i:s)
    {
        if(i=='(') c++;
        if(i==')') c--;
    }
    cout<<(c==0);
}

PYTHON PROGRAM

s=input()
c=0
for i in s:
    if i =='(':
        c+=1
    elif (i==')') and c>0 :
        c-=1
print(int(c>0))

Q) Write a program to find out and display prime numbers from the given list of integers. The program will accept input in two lines. First-line contains a number indicating the total number of integers in the list and the second line contains integers separated by spaces.

Example 1

  • Input: 5
    4 6 9 3 7
  • Output:  3 7

Example 2

  • Input:  10
    8 10 3 12 7 15 11 2 17 26
  • Output:  3 7 11 2 17

C++  PROGRAM

#include<bits/stdc++.h>
using namespace std;
map<int,int> m;
bool ifPrime(int a)
{
    if(m[a]==2||m[a]==1) return m[a]-1;
    if((a&1)==0) {m[a]=1;return false;}
    for(int i=3;i<=sqrt(a);i+=2)
    if(a%i==0) {m[a]=1;return 0;}
    m[a]=2;
    return 1;
}
int main()
{
    m[2]=2;
    int n,a;cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a;
        if(ifPrime(a)) cout<<a<<" ";
    }
}

JAVA PROGRAM

import java.util.*;
public class Main
{
 public static boolean isPrime(int n)
{
  if(n<=1)
  return false;
 if(n==2 || n==3)
 return true;
 if(n%2==0 || n%3==0)
  return false;
 for(int i=5;i<=Math.sqrt(n);i=i+6)
{
    if(n%i==0 || n%(i+2)==0)
      return false;
}
return true;
}
  public static void main(String[] args)
{
   Scanner sc=new Scanner(System.in);
   int n=sc.nextInt();
   int arr[]=new int[n];
  for(int i=0;i<n;i++)
    arr[i]=sc.nextInt();
  ArrayList prime=new ArrayList<>();
  for(int i=0;i<n;i++)
   if(isPrime(arr[i]))
    prime.add(arr[i]);
  Iterator itr=prime.iterator();
  while(itr.hasNext())
  {
    System.out.print(itr.next()+" ");
 }
}
}

Q) Write a program that will take a number as input. The program will convert the inputted number to a format, which will contain an integer part and a fraction part. The fraction part needs to be reduced to its lowest representation. The input will not contain any repeating decimals e.g. 1.3333…33. The output will be

The integer part of the number ++fraction using a ’/’

Example 1

  • Input:  2.95
  • Output:  2 19/20

Example 2

  • Input:  3.08
  • Output:  3 2/25

C++ PROGRAM

#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    string s;
    cin>>s;
    string s1;
    int idx=-1;
    for(int i=0;i<s.length();i++)
    {
        if(s[i]=='.') idx=i;
        else s1+=s[i];
    }
    int a=stoi(s1);
    int p=1;
    if(idx!=-1)
    for(int i=0;i<s.length()-idx-1;i++)
    p*=10;
    int c=__gcd(a,p);
    a/=c;p/=c;
    cout<<a/p<<" "<<a-p*(a/p)<<"/"<<p;
}

JAVA PROGRAM

import java.util.*;
public class Main
{
  static long gcd(long a, long b)
{
    if (a == 0)
        return b;
    else if (b == 0)
        return a;
    if (a < b)
        return gcd(a, b % a);
    else
        return gcd(b, a % b);
}
     
public static void main(String[] args)
{
    Scanner sc=new Scanner(System.in);
   double number=sc.nextDouble(); 
   double intVal = Math.floor(number);
  
    double fVal = number - intVal;
  
    final long pVal = 1000000000;
  
    long gcdVal = gcd(Math.round(
                      fVal * pVal), pVal);
   
    long num = Math.round(fVal * pVal) / gcdVal;
    long deno = pVal / gcdVal;
  
    System.out.println((int)number+" " +
                           num + "/" + deno);
}
}

PYTHON PROGRAM

import math
s=input()
s1=""
idx=-1
for i in range(len(s)):
    if s[i]=='.':
        idx=i
    else:
        s1+=s[i]
a=int(s1)
p=1
if idx!=-1:
    for i in range(len(s)-idx-1):
        p*=10
c=math.gcd(a,p)
a//=c
p//=c
s=str(a//p)+" "+str(a-p*(a//p))+"/"+str(p)
print(s)

Q) Given a sentence with numbers representing a word’s location in the sentence, embedded within each word, and return the sorted sentence. 

Note: We are using a maximum of 0-9 numbers only for 1 sentence

Example 1

  • Input:  is1 Thi0s T3est 2a
  • Output:  This is a Test

Example 2

  • Input:  t2o j3oin 4WonderBiz I0 Technolog5ies wan1t
  • Output:  I want to join WonderBiz Technologies

C++ PROGRAM

#include<bits/stdc++.h>
using namespace std;
map<int,string> m;
 
void fun(string s)
{
    string s1="",s2="";
    for(auto i:s)
    {
        if(i<='9'&&i>='0') s1+=i;
        else s2+=i;
    }
    m[stoi(s1)]=s2;
}
 
int main()
{
    string s;
    int c=0;
    getline(cin,s);
    istringstream ss(s);
    while(ss)
    {
        string word;ss>>word;
        if(word=="") break;
        fun(word);
        c++;
    }
    for(int i=0;i<c;i++)
    cout<<m[i]<<" ";
}

JAVA PROGRAM

import java.util.*;
public class Main
{
  public static void main(String[] args)
{
   Scanner sc=new Scanner(System.in);
   String str=sc.nextLine();
   String[] arr=str.split(" ");
  String[] res=new String[arr.length];
  
for(int i=0;i<arr.length;i++)
{
   for(int j=0;j<arr[i].length();j++) { if(arr[i].charAt(j)>='0' && arr[i].charAt(j)<='9')
    {
      res[Integer.parseInt(arr[i].charAt(j)+"")]=arr[i].substring(0,j)+arr[i].substring(j+1,arr[i].length());
       break;
     }
}
}
String temp="";
for(int i=0;i<res.length;i++)
  temp=temp+res[i]+" ";
System.out.println(temp);
}
}

PYTHON  PROGRAM

from collections import defaultdict
m=defaultdict(str)
s=list(map(str,input().split(" ")))
for i in s:
    s1=""
    s2=""
    for j in i:
        if j<='9' and j>='0':
            s1+=j
        else:
            s2+=j
    m[int(s1)]=s2
for i in range(len(s)):
    print(m[i],end=" ")

Q) Your task is to complete a function “count_heads()” that takes two inputs N and R. The function should return the probability of getting exactly R heads on N successive tosses of a fair coin. A fair coin has an equal probability of landing a head or a tail (i.e. 0.5) on each toss.

Example 1

  • Input: 1 1
  • Output: 0.500000

Example 2

  • Input: 4 3
  • Output: 0.250000

C++ PROGRAM

#include<bits/stdc++.h>
using namespace std;
 
double comb(int n,int r)
{
    if(r==0) return 1;
    return n*comb(n-1,r-1)/r;
}
int main()
{
   int n,r;
   cin>>n>>r;
   cout<<comb(n,r)/(1<<n);
}

JAVA PROGRAM

import java.util.*;
class Main
{
public static int fact(int n)
{
  if(n==0)
   return 1;
  return n*fact(n-1);  
 }
public static double count_heads(int n, int r)
{
    double res;
    res = fact(n) / (fact(r) * fact(n - r));
    res = res / (Math.pow(2, n));
    return res;
}

public static void main(String[] args)
{
   Scanner sc=new Scanner(System.in);
   int n=sc.nextInt();
   int r=sc.nextInt();
   System.out.println(count_heads(n,r));
}
}

PYTHON PROGRAM

def comb(n, r):
    if r==0:
        return 1
    return n*comb(n-1, r-1)/r
    
n, r = map(int, input().split())
print(comb(n,r)/(1<<n))

Q) Write a program that receives a word A and some texts as input. You need to output the texts (without modifying them) in the ascending order of the number of occurrences of the word A in the texts. The input is as follows: an integer M(between 1 and 100, inclusive), followed by the word A in the next line, and some text in each of the M next lines.

Note: The texts and the word A contain only lowercase Latin letters (a,b,c…,z) and blank spaces (“ ”). The maximum size of the texts and the word A is 100 Characters. Every text has a different number of occurrences of the word A.

Note 2:you must print one text per line without modifying the texts.

Example 1

  • Input: 2
    Java
    I hate java
    Python is a good programming language
  • Output: Python is a good programming language
    I hate java

Example 2

  • Input:  3
    python
    I like to code in python
    python is named after a show name monty python and not after the snake python
    I think python is good i think python is important than php
  • Output: i like to code in python
    i think python is good i think python is important than php
    python is named after a show name monty python and not after the snake python

C++ PROGRAM 

#include<bits/stdc++.h>
using namespace std;
string s;
map<string,int> m2;
bool cmp(pair<string, int>& a,
         pair<string, int>& b)
{
    return a.second < b.second;
}
void sort(map<string, int>& M)
{
    vector<pair<string, int> > A;
    for (auto& it : M) {
        A.push_back(it);
    }
    sort(A.begin(), A.end(), cmp);
    for (auto& it : A) {
        for(int i=0;i<m2[it.first];i++)
        cout << it.first <<endl; } } int count(string s1) { istringstream ss(s1); int c=0; while(ss) { string w; ss>>w;
        if(w==s) c++;
    }
    return c;
}
int main()
{
    int n;getline(cin,s);n=stoi(s);
    getline(cin,s);
    transform(s.begin(),s.end(),s.begin(),::tolower);
    vector<string> v(n);
    vector<int> a(n);
    map<string,int> m;
    for(int i=0;i<n;i++)
    {
        getline(cin,v[i]);
        transform(v[i].begin(),v[i].end(),v[i].begin(),::tolower);
        m2[v[i]]++;
        m[v[i]]=count(v[i]);
    }
    sort(m);
}

JAVA PROGRAM 

import java.util.*;
public class Main
{

static int countOccurences(String str, String word)
{
    String a[] = str.split(" ");
 
    int count = 0;
    for (int i = 0; i < a.length; i++)
    {
      if (word.equals(a[i]))
        count++;
    }
 
    return count;
}
  public static void main(String[] args)
{
  Scanner sc=new Scanner(System.in);
  int n=sc.nextInt();
 sc.nextLine();
 String word=sc.next(); 
 //System.out.println(word);
 sc.nextLine();
 String arr[]=new String[n];
 for(int i=0;i<n;i++)
{
  arr[i]=sc.nextLine();
  //System.out.println(arr[i]); 
}
 TreeMap<Integer,String> map=new TreeMap<Integer,String>();	
  for(int i=0;i<n;i++)
{
   map.put(countOccurences(arr[i],word),arr[i]);
}

Set s=map.entrySet();
Iterator itr=s.iterator();
while(itr.hasNext())
{
  Map.Entry m=(Map.Entry)itr.next();

  System.out.println(m.getValue());
}

}
}

PYTHON PROGRAM 

from collections import defaultdict
d=defaultdict(int)
d1=defaultdict(int)
n=int(input())
s=input()
s=s.lower()
l=[]
for i in range(n):
    L=list(map(str,input().split()))
    s1=' '.join(i for i in L)
    c=0
    for j in L:
        if s==j:
            c+=1
    l.append(s1)
    d[i]=c
    d1[i]+=1
    c=0
d=sorted(d.items(),key=lambda a:a[1])
for i in d:
    for j in range(d1[i[0]]):
        print(l[i[0]])

Q) Write a program that will print the sum of diagonal elements of a 10X10 matrix. The program will take a total of 100 numbers as input (10 numbers will be input per line and each number will be separated by a space).

Example 1

  • Input:    1  2 3 4 5 6 7 8 9 0
    0 1 2 3 4 5 6 7 8 0
    3 4 5 6 7 8 9 6 4 0
    2 3 4 5 6 7 8 9 3 2
    3 4 5 6 7 4 3 2 1 3
    3 4 5 6 2 4 4 2 4 6
    2 3 4 6 2 4 6 2 3 5
    2 3 5 6 2 4 6 2 3 5
    2 4 6 2 1 4 3 3 5 2
    3 3 5 2 4 6 2 1 4 6
  • Output:  42

Example 2

  • Input:   1 22 33 44 55 66 77 88 99 100
    100 1 88 77 66 55 44 33 22 11
    88 88 1 66 55 44 33 22 11 100
    88 77 66 1 44 33 22 11 100 99
    77 66 55 44  1 22  11 88 99 100
    66 55 44 33 22 1 77 88 99 100
    44 33 22 11 100 99 1 77 66 55
    33 22 11 100 99 88 77 1 55 44
    22 11 100 99 88 77 66 55 1 33
    100 11 22 33 44 55 99 88 77 1
  • Output: 10

C++ PROGRAM

#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    vector<vector<int>> v(10,vector<int>(10));
    for(int i=0;i<10;i++)
    for(int j=0;j<10;j++) cin>>v[i][j];
    int sum=0;
 
    for(int i=0;i<10;i++)
    sum+=v[i][i];
    cout<<sum;
}

JAVA PROGRAM

import java.util.*;
public class Main
{
 public static boolean isVowel(char ch)
{
  return ch=='a' || ch=='e' || ch=='o' || ch=='i' || ch=='u' || ch=='A' || ch=='E' || ch=='I' || ch=='O' || ch=='U';
}
  public static void main(String[] args)
{
  Scanner sc=new Scanner(System.in);
  String str=sc.next();
  char arr[]=str.toCharArray(); 
 String res="";
 if(!isVowel(arr[0]))
  res+=arr[0];
 for(int i=1;i<arr.length;i++)
 {
    if(isVowel(arr[i])&&isVowel(arr[i-1]))
      res+=arr[i-1]+""+arr[i];
     if(!isVowel(arr[i]))
     res+=arr[i];
 }
System.out.println(res);
}

PYTHON PROGRAM

l=['a','e','i','o','u','A','E','I','O','U']
s=input()
s+=" "
s1=""
if len(s)==0:
    print("")
elif len(s)==1:
    if s[0] not in l:
        print(s)
else:
    if s[0] in l and s[1] in l:
        s1+=s[0]
    elif s[0] not in l :
        s1+=s[0]
 
    for i in range(1,len(s)-1):
        if s[i-1] not in l and s[i] in l and s[i+1] not in l:
            continue
        s1+=s[i]
 
    print(s1)

Follow regularly our Dailyrecruitment.in site to get upcoming all up-to-date information.

JOB ALERT ON INSTAGRAM FOLLOW NOW>>
JOB ALERT ON YOUR EMAIL DAILY SUBSCRIBE NOW>>

Govt Jobs by Qualifications

Education & Vacancies Salary Apply Link
10th Pass Govt Jobs - 5,000 Vacancies Rs. 5,200 - 63,200 Apply Now
12th Pass Govt Jobs - 18,000+ Vacancies Rs. 5,200 - 92,300 Apply Now
ITI Pass Jobs - 3,500 Vacancies Rs. 5,200 - 35,000 Apply Now
Any Graduate Jobs - 19,100 Vacancies Rs. 5,200 - 92,300 Apply Now
Central Govt Jobs Rs. 5,200 - 17,000 Apply Now
Bank Jobs - 1,000 Vacancies Rs. 5,200 - 29,200 Apply Now
Diploma Jobs - 9,300 Vacancies Rs. 5,200 - 35,000 Apply Now
BTech/BE Jobs - 18,000 Vacancies Rs. 15,000 - 1,00,000 Apply Now
Data Entry Jobs - 1,300 Vacancies Rs. 5,200 - 29,200 Apply Now
Private Jobs Rs. 10,000 - 67,700 Apply Now