Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,914 questions

51,847 answers

573 users

How to find the first non-repeated character in a string with C++

2 Answers

0 votes
#include <iostream> 

char getFirstNonRepeatedCharacter(char *s) { 
    int ascii_count[256]; 
    
    int i;
    for (i = 0; *(s+i); i++) 
        if (*(s + i) != ' ') 
            ascii_count[*(s+i)]++; 
    
    int n = i; 
   
    for (i = 0; i < n; i++) 
        if (ascii_count[*(s + i)] == 1) 
            return s[i]; 
     
    return ' ';
} 
   
int main() 
{ 
    char s[] = "pro c++ programming"; 
     
    char ch = getFirstNonRepeatedCharacter(s); 
     
    std::cout << ch; 
} 
 
 
 
/*
run:
 
c
 
*/

 



answered Feb 11, 2019 by avibootz
edited Sep 21, 2023 by avibootz
0 votes
#include <iostream>
 
#define SIZE 256
  
void CountOccurrences(std::string str, char occurrences[]) {
    int i = 0;
    int size = str.length();
     
    while (i < size) {
        occurrences[(int)str[i]]++;
        i++;
    }
}
 
char GetFirstNonRepeatedCharacter(std::string str) {
    char occurrences[SIZE] = { 0 };
  
    CountOccurrences(str, occurrences);
  
    int i = 0;
    int size = str.length();
     
    while (i < size) {
        if (occurrences[(int)str[i]] == 1) {
            return str[i];
        }
        i++;
    }
     
    return -1;
}
  
int main() {
    std::string str = "c c++ csharp java php python";
     
    std::cout << GetFirstNonRepeatedCharacter(str);
}
  
  
  
  
/*
run:
  
s
  
*/

 



answered Sep 21, 2023 by avibootz
...