0% found this document useful (0 votes)
1 views

String

The document contains multiple C++ programs that perform various string manipulations and conversions. These include converting strings to uppercase, counting words, finding unique words, calculating character frequencies, checking for palindromes, and converting strings to integers. Additionally, the document includes functions for trimming whitespace, formatting strings, and identifying substrings.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

String

The document contains multiple C++ programs that perform various string manipulations and conversions. These include converting strings to uppercase, counting words, finding unique words, calculating character frequencies, checking for palindromes, and converting strings to integers. Additionally, the document includes functions for trimming whitespace, formatting strings, and identifying substrings.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

1 #include <iostream>

#include <algorithm>

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::transform(s.begin(), s.end(), s.begin(), ::toupper);

std::cout << "Chuoi sau khi chuyen doi thành chu hoa:
" << s << std::endl;

return 0;
}
2 #include <iostream>
#include <sstream>

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::istringstream iss(s);
int count = 0;
std::string word;
while (iss >> word) {
count++;
}

std::cout << "So tu trong chuoi là: " << count <<
std::endl;

return 0;
}
3 #include <iostream>
#include <sstream>
#include <set>

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::istringstream iss(s);
std::set<std::string> unique_words;
std::string word;
while (iss >> word) {
unique_words.insert(word);
}

std::cout << "So tu khoc nhau trong chuoi là: " <<
unique_words.size() << std::endl;

return 0;
}
4 #include <iostream>
#include <sstream>
#include <map>

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::istringstream iss(s);
std::map<std::string, int> word_freq;
std::string word;
while (iss >> word) {
word_freq[word]++;
}

std::cout << "Bang tan so xuat hien cua coc tu trong


chuoi là: \n";
for (std::map<std::string, int>::const_iterator it =
word_freq.begin(); it != word_freq.end(); ++it) {
std::cout << it->first << "\t: " << it->second << "\n";
}

return 0;
}
5 #include <iostream>
#include <map>

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::map<char, int> char_freq;


for (std::string::iterator it = s.begin(); it != s.end(); +
+it) {
char c = *it;
if (std::isalpha(c)) {
char_freq[c]++;
}
}

std::cout << "Bang tan so xuat hien cua cac chu cai
trong chuoi la: \n";
for (std::map<char, int>::iterator it =
char_freq.begin(); it != char_freq.end(); ++it) {
std::cout << it->first << "\t: " << it->second << "\n";
}

return 0;
}
6 #include <iostream>
#include <algorithm>

bool palind(std::string s) {
std::string rev = s;
std::reverse(rev.begin(), rev.end());
return s == rev;
}

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

if (palind(s)) {
std::cout << "Chuoi \"" << s << "\" là palindrome.\
n";
} else {
std::cout << "Chuoi \"" << s << "\" khung phai là
palindrome.\n";
}

return 0;
}
7 #include <iostream>
#include <sstream>

int atoi(std::string s) {
std::stringstream ss(s);
int num = 0;
ss >> num;
return num;
}

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

int num = atoi(s);


std::cout << "Chuoi \"" << s << "\" sau khi chuyen doi
thành so nguyon là: " << num << "\n";

return 0;
}
8 #include <iostream>
#include <algorithm>
#include <cctype>

std::string Trim(std::string s) {
s.erase(s.begin(), std::find_if(s.begin(), s.end(),
std::not1(std::ptr_fun<int, int>(std::isspace))));
s.erase(std::find_if(s.rbegin(), s.rend(),
std::not1(std::ptr_fun<int, int>(std::isspace))).base(),
s.end());
return s;
}

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::string trimmed = Trim(s);


std::cout << "Chuoi sau khi xoa cac ky tu trong o hai
dau: \"" << trimmed << "\"\n";

return 0;
}
9 #include <iostream>
#include <string>
#include <cctype>

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::string result;
bool space = false;
for (std::string::iterator it = s.begin(); it != s.end(); +
+it) {
if (std::isspace(*it)) {
if (!space) {
result += *it;
space = true;
}
} else {
result += *it;
space = false;
}
}

std::cout << "Chuoi sau khi thay the cac dau cach: \""
<< result << "\"\n";

return 0;
}
10 #include <iostream>
#include <cctype>
#include <string>

std::string Proper(std::string s) {
bool newWord = true;
for (std::string::iterator it = s.begin(); it != s.end(); +
+it) {
if (std::isspace(*it)) {
newWord = true;
} else if (newWord) {
*it = std::toupper(*it);
newWord = false;
} else {
*it = std::tolower(*it);
}
}
return s;
}

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::string proper = Proper(s);


std::cout << "Chuoi sau khi chuyen doi thanh dang
danh tu rieng: \"" << proper << "\"\n";

return 0;
}
11 #include <iostream>
#include <algorithm>

std::string itob(int n, int b) {


std::string s;
while (n > 0) {
int digit = n % b;
s += (digit > 9) ? 'A' + digit - 10 : '0' + digit;
n /= b;
}
std::reverse(s.begin(), s.end());
return s;
}

int main() {
int n, b;
std::cout << "Nhap so nguyon duong: ";
std::cin >> n;
std::cout << "Nhap co so: ";
std::cin >> b;

std::string s = itob(n, b);


std::cout << "So " << n << " sau khi chuyen doi sang co
so " << b << " là: " << s << "\n";

return 0;
}
12 #include <iostream>
#include <string>

int strindex(std::string s, std::string t) {


int position = -1;
int found_position = s.find(t);
while (found_position != std::string::npos) {
position = found_position;
found_position = s.find(t, found_position + 1);
}
return position;
}

int main() {
std::string s, t;
std::cout << "Nhap chuoi s: ";
std::getline(std::cin, s);
std::cout << "Nhap chuoi t: ";
std::getline(std::cin, t);

int position = strindex(s, t);


if (position != -1) {
std::cout << "Vi tro cuoi cung cua chuoi \"" << t <<
"\" trong chuoi \"" << s << "\" là: " << position << "\n";
} else {
std::cout << "Chuoi \"" << t << "\" khung xuat hien
trong chuoi \"" << s << "\".\n";
}

return 0;
}
13 #include <iostream>
#include <string>

std::string reverse(const std::string& s) {


if (s.length() == 0) {
return s;
} else {
return reverse(s.substr(1)) + s[0];
}
}

int main() {
std::string s;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);

std::string reversed = reverse(s);


std::cout << "Chuoi sau khi dao nguoc: \"" << reversed
<< "\"\n";

return 0;
}
14 #include <iostream>
#include <string>

int strend(const std::string& s, const std::string& t) {


if (s.length() >= t.length()) {
return s.compare(s.length() - t.length(), t.length(), t)
== 0;
}
return 0;
}

int main() {
std::string s, t;
std::cout << "Nhap chuoi s: ";
std::getline(std::cin, s);
std::cout << "Nhap chuoi t: ";
std::getline(std::cin, t);

int result = strend(s, t);


if (result == 1) {
std::cout << "Chuoi \"" << t << "\" nam o cuoi
chuoi \"" << s << "\".\n";
} else {
std::cout << "Chuoi \"" << t << "\" khung nam o cuoi
chuoi \"" << s << "\".\n";
}

return 0;
}
15 #include <iostream>
#include <algorithm>

std::string squeeze(const std::string& s, char c) {


std::string result = s;
result.erase(std::remove(result.begin(), result.end(),
c), result.end());
return result;
}

int main() {
std::string s;
char c;
std::cout << "Nhap chuoi ky tu: ";
std::getline(std::cin, s);
std::cout << "Nhap ky tu can xya: ";
std::cin >> c;

std::string squeezed = squeeze(s, c);


std::cout << "Chuoi sau khi xya ky tu '" << c << "': \""
<< squeezed << "\"\n";

return 0;
}
16 #include <iostream>
#include <vector>

std::string month_name(int n) {
std::vector<std::string> months(12);
months[0] = "January";
months[1] = "February";
months[2] = "March";
months[3] = "April";
months[4] = "May";
months[5] = "June";
months[6] = "July";
months[7] = "August";
months[8] = "September";
months[9] = "October";
months[10] = "November";
months[11] = "December";

if (n > 0 && n <= 12) {


return months[n - 1];
} else {
return "Invalid month number";
}
}

int main() {
int n;
std::cout << "Nhap so thong: ";
std::cin >> n;

std::string month = month_name(n);


std::cout << "Ton cua thong " << n << " la: " << month
<< "\n";
return 0;
}

You might also like