lekcja 27-wyszukiwanie frazy w tekscie
Ostatnio zmodyfikowano 2014-01-11 20:25
abcdef000 Temat założony przez niniejszego użytkownika |
lekcja 27-wyszukiwanie frazy w tekscie » 2014-01-11 15:36:51 #include <iostream> #include <string> using namespace std;
int main() { string tekst = "tekslitery"<<endl;
size_t cos =tekst.find('k'); if(cos==std::string::npos) cout<<"nie znaleziono znaku w tekscie"<<endl; else cout<<"znak zostal odnaleziony na pozycji"<<cos<<endl; return 0; }
Wywala bład "|7|error: invalid operands of types 'const char [11]' and '<unresolved overloaded function type>' to binary 'operator<<'| cos zle zrobiłem? jesli tak prosze mi wskazac co i wytlumaczyc czemu tak:D korzystajac z okazji chcialbym spytac o linike if(cos==std::string::npos) co oznacza po co itp"std::string::npos" i jak zapisac to bez std::? string npos? i jak zrobic by szukało na wszystkich pozycjach danej litery... a nie do puki az sie na nia natknie? czy jedynym wyjsciem jest robic petle? czy jest jakas skrocona mozliwosc #EDIT: to forum działa cuda... głowilem sie co nie tak. załozyłem temat i chwile po tym znalazlem endl. przypisywalem string tekst z znakiem konca lini(endl) no ale 2 licze na odpowiedz na 2 pytanie:) |
|
alixir |
» 2014-01-11 15:50:21 std::string::npos zwykle zdefioniowane jest jako: static const size_type npos = - 1; lecz dla lepszej czytelności kodu zaleca się porównywanie wyniku do std::string::npos zamiast do -1 Jeśli na początku kodu masz using namespace std; to możesz skrócić zapis do string::npos Aha i pamiętaj, że szukany tekst podajesz w cudzysłowiu a nie w apostrofach: size_t cos = tekst.find( "szukane_slowo" ); |
|
abcdef000 Temat założony przez niniejszego użytkownika |
» 2014-01-11 17:33:56 jak zrobic by szukało na wszystkich pozycjach danej litery/slowa... a nie do puki az sie na nia natknie? czy jedynym wyjsciem jest robic petle? czy jest jakas skrocona mozliwosc
kolejne pytanie... jak przypisac zdanie w string do tablicy char? dziekuje za odpowiedz :) |
|
MrPoxipol |
» 2014-01-11 19:11:59 jak przypisac zdanie w string do tablicy char? |
Ale po co? String ma przeciążony operator [], więc masz dostęp do indeksów. std::string foo( "foobar" ); std::cout << foo[ 0 ];
PS do wstawiania kodu używaj [cpp]. Aha i pamiętaj, że szukany tekst podajesz w cudzysłowiu a nie w apostrofach: |
E? http://www.cplusplus.com/reference/string/string/find/. Zgodzę się, tekst tak, ale znak nie. |
|
abcdef000 Temat założony przez niniejszego użytkownika |
» 2014-01-11 19:30:54 chce pobrac jqkies zdanie. nastepnie zrobic tak aby kazdy znak mial swoje "miejsce" w tablicy. w oparciu o ascii bd w szkole szyfrowanie czy cós robic i pptrzebne mi to. |
|
MrPoxipol |
» 2014-01-11 19:34:29 E? A spróbowałeś chociaż? #include <iostream> using namespace std;
int main() { string text; getline( cin, text ); for( size_t i = 0; i < text.size(); ++i ) text[ i ] ^= 7; cout << text; return 0; } |
|
abcdef000 Temat założony przez niniejszego użytkownika |
» 2014-01-11 20:25:21 Zupelnie innaczej to robiłem.
dziekuje slicznie. naprawde bardzo mi pomogles/liscie:)
|
|
« 1 » |