Olvassunk be egy szöveget és írassuk ki soronként úgy, hogy az első sorban az első karaktere, a második sorban az első két karaktere, …látszodjon.
#include <iostream>
using namespace std;
int main()
{
string s="Hello vilag";
for (int i = 0; i<s.size(); i++)
{
for (int j = 0; j<=i; j++)
cout << s[j];
cout << endl;
}
}
2. Nehezítés: Ugyanez csak forditott sorrendbe!
#include <string>
#include <iostream>
using namespace std;
int main()
{string a="Hello";
for(int i=0; i<a.size(); i++)
{
for(int j=0; j<a.size()-i; j++)
{
cout<<a[j];
} cout<<endl;
}}
3. Tükrözzünk egy szöveget a középső elemére.
#include<iostream>
#include<string>
using namespace std;
main()
{
string s;
cout<<"Szoveg= "<<endl;
getline(cin,s);
for (int i = 0; i < s.size() / 2; i++)
s[s.size() - 1 - i] = s[i];
cout<<"Tukrozes: "<<s<<endl;
}
4. Olvassunk be egy szöveget és a szövegben minden nagybetűt alakítsunk kisbetűvé, ill. minden kisbetűt nagybetűvé.
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string s;
char k = 'a' - 'A';
cout<<"Szoveg= "<<endl;
getline(cin,s);
for (int i = 0; i < s.size(); i++)
{
if (s[i]>='A' && s[i]<='Z')
s[i] = (s[i] + k);
else if (s[i] >= 'a' && s[i] <= 'z')
s[i] = (s[i] - k);
}
cout<<"Eredmeny= "<<s<<endl;
}
5. Olvassunk be több mondatot egy stringbe, majd írassuk ki mondatonként külön sorba.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string m;
getline(cin,m);
string id = "";
for(int i = 0; i < m.length(); i++)
{
id += m[i];
if(m[i] == '.')
{
cout << id << "\n";
id = "";
}
}
cout << id;
return 0;
}
7. Olvassunk be egy mondatot és nézzünk meg, hogy palindróm mondat-e (visszafele is ugyanaz: pl. Géza, kék az ég. Óh, a tahó! Római fővezér s rézevő fia Mór. Nem áll ott törött toll, ámen. Mér dúl a lúd rém? Tied a Deit! Ah, tán nátha? Szárad a darázs).
#include <iostream>
using namespace std;
int main()
{
string s,e="";
bool p = true;
cout<<"Mondat= "<<endl;
getline(cin,s);
for (int i = 0; i < s.length(); i++) {
s[i] = toupper(s[i]);
}
for (int i = 0; i < s.size(); i++)
if (s[i] >= 'A' && s[i] <= 'Z')
e = e + s[i];
for (int i = 0; i <= e.size() / 2; i++)
if (e[i] != e[e.size() - 1 - i])
{
p = false;
break;
}
if(p==1)
cout<<"Polindrom!"<<endl;
else
cout<<"nem polindrom!"<<endl;
}
8. Olvassunk be egy karakterláncot és írassuk ki, hogy melyik karakterből hány darab van a szövegben.
#include <iostream>
using namespace std;
int main()
{
string s;
int n = 1;
char k;
cout<<"Szoveg= "<<endl;
getline(cin, s);
while (s!="")
{
k = s[0];
s = s.substr(1);
while (s.find(k) != -1)
{
s = s.erase(s.find(k),1);
n++;
}
cout<<k<<" eloforfulasanak szama: "<<n<<endl;
n = 1;
}
}