Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

lekcja 27-wyszukiwanie frazy w tekscie

Ostatnio zmodyfikowano 2014-01-11 20:25
Autor Wiadomość
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:)
P-101847
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" );
P-101850
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 :)
P-101865
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.
C/C++
std::string foo( "foobar" );
std::cout << foo[ 0 ]; // Wypisze 'f'.
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.
P-101874
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.
P-101879
MrPoxipol
» 2014-01-11 19:34:29
E? A spróbowałeś chociaż?
C/C++
#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;
}
P-101882
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:)
P-101884
« 1 »
  Strona 1 z 1