Char to string – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Char to string – C / C++ – Fórum – Programujte.comChar to string – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
lukas.balaz0
Super člen
30. 12. 2013   #1
-
0
-

cavte

mám unordered_set<string> naplnený jedno a dvojznakovými stringami.

Okrem toho mám string s. Mám zistiť, či sa nejaký char s[i] nachádza v tom unordered sete ako string a  či sa nejaká dvojica posebeidúcich charov s[j] a s[j+1] nachádza v tom unordered sete ako dvojznakový string.

Ako by to bolo urobiť najjednoduchšie ?

Diki

Nahlásit jako SPAM
IP: 213.215.106.–
Reklama
Reklama
Řešení
vitamin+8
Grafoman
30. 12. 2013   #2
-
0
-
Vyřešeno Nejlepší odpověď

#1 lukas.balaz
Pouzi .find :

#include <iostream>
#include <string>
#include <unordered_set>

int main(){
	std::unordered_set<std::string> set{
		"ab",
		"cd",
		"e",
		"fg",
		"h"
	};
	std::string s{"abcdefghij"};
	
	for(auto i = s.begin(); i != s.end(); ++i){
		if(set.find({*i}) != set.end())std::cout << "v 'set' sa nachadza znak " << *i << '\n';
		else std::cout << "v 'set' sa NEnachadza znak " << *i << '\n';
		auto j = i+1;
		if(j != s.end()){
			if(set.find({*i, *j}) != set.end())std::cout << "v 'set' sa nachadza dvojznak " << *i << *j << '\n';
			else std::cout << "v 'set' sa NEnachadza dvojznak " << *i << *j << '\n';
		}	
	}
	return 0;
}
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
lukas.balaz0
Super člen
30. 12. 2013   #3
-
0
-

Jediné, čo som nevedel bolo, že {char, char} je string zložený z týchto charov. Ďakujem za pomoc

Nahlásit jako SPAM
IP: 213.215.106.–
vitamin+8
Grafoman
30. 12. 2013   #4
-
0
-

#3 lukas.balaz
dlhsi zapis by mal byt takyto: set.find(std::string{*i, *j})

Kedze metoda find prebera parameter std::string tak moze byt typ doplneny prekladacom, takze staci napisat  set.find({*i, *j})

Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 67 hostů

Podobná vlákna

String to char — založil kadet

String^ to Char* — založil john

String to char — založil eidam1995

Konverze string na char* — založil Petr

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý