Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Operacje na Stringach i poruszanie się po nich?


Rekomendowane odpowiedzi

Opublikowano

No to tak, w c++ zabawa z stringami jest przyjemna i łatwa.

 

String -> tablica charow, fukcje zwracające dlugosc lancucha, petelka i z kazdym elementem tablicy mozemy zrobic doslownie wszystko. Nudzi mi się, więc postanowiłem napisać pseudo "Gre w wisielca". Całkiem przyjemnie powinno się to kodzić, jednak bez nawigacji po stringach tego nie zrobie. Pisałem kiedyś krzyzówkę i pamiętam, że nie mogłem się poruszac po stringu jak w cepie po tablicy :c 
Pracował ktoś kiedyś na stringach? Jeżeli tak to poproszę o jakieś informacje

schemat jak to widze
1. WIDOK

a)5 roznych tel, albo rysowanie na JPANELU, zastanawim sie jeszcze nad tym

b)Kratki na literki, wyswietlona 1. i ostatnia standardowo

c) pole do wpisania odpowiedzi

d) button na spr litere

2. Model
a) funkcje:

-wczytywanie z pliku

-losowanie pytania z pliku

-sprawdzanie czy wpisana litera znajduje sie w stringu w odpowiedzi

-dodanie literki w przypadku spelnienia warunku do odpowiedniego fielda 

itp.

3.Kontroler

Akcja na przycisk + warunki do tla/rysowania kolejnych opcji 
 

Opublikowano

No to tak, w c++ zabawa z stringami jest przyjemna i łatwa.

 

String -> tablica charow, fukcje zwracające dlugosc lancucha, petelka i z kazdym elementem tablicy mozemy zrobic doslownie wszystko. Nudzi mi się, więc postanowiłem napisać pseudo "Gre w wisielca". Całkiem przyjemnie powinno się to kodzić, jednak bez nawigacji po stringach tego nie zrobie. Pisałem kiedyś krzyzówkę i pamiętam, że nie mogłem się poruszac po stringu jak w cepie po tablicy :c 

Pracował ktoś kiedyś na stringach? Jeżeli tak to poproszę o jakieś informacje

 

schemat jak to widze

1. WIDOK

a)5 roznych tel, albo rysowanie na JPANELU, zastanawim sie jeszcze nad tym

b)Kratki na literki, wyswietlona 1. i ostatnia standardowo

c) pole do wpisania odpowiedzi

d) button na spr litere

2. Model

a) funkcje:

-wczytywanie z pliku

-losowanie pytania z pliku

-sprawdzanie czy wpisana litera znajduje sie w stringu w odpowiedzi

-dodanie literki w przypadku spelnienia warunku do odpowiedniego fielda 

itp.

3.Kontroler

Akcja na przycisk + warunki do tla/rysowania kolejnych opcji 

 

Przyjemne w c++, tak przyjemne że jak ostatnim razem byłem zmuszony coś robić w C++ to miałem ochotę formatować komputer.

 

Teraz co do tematu... to brakuje mi w nim jednego.

Pytania.

 

 

Napisałeś co chcesz robić, ale nie napisałeś gdzie tam jest twój problem.

Co dokładnie chcesz zrobić? co odczytać? skąd odczytać? Czy może co zrobić z tym stringiem?

 

I pamiętaj że String sam w sobie nie jest tablicą charów, tylko ma ją w sobie, więc str[34] nie zadziała, ale większość potrzebnych rzeczy da się zrobić za pomocą metod ze String.

A tak to zawsze mamy char[] chars = str.toCharArray(); która zwraca tą tablicę znaków, i masz też metodę str.charAt(index) co działa identycznie jak z tablicą, chars[index] ;)

+ w javie nie daje się też \0 na końcu, jak to zwykle w c++ bywa.

­

1438614356923701010629.png

 

Opublikowano

Chodzi mi o to, jak poruszac się po stringu Przykladowo z cepa:

for(i=ciag.lenght();i=0;i--)
{
   cout << ciag[i];

}cout << endl;

Potrzebuję dobrac się do każdej literki z osobna, bo bede wprowadzał literke, i musze przeleciec petla po stringu i spr czy literka sie znajduje, czy raczej zawisniemy :)  Jakie Metody i funkcje mi sie do tego przydadza?(bardzo slabo idzie mi poslugiwani sie dokumentacja)

Opublikowano

tak?

String x = "Hello world!";
        for(int index = 0; index < x.length(); ++index)
            System.out.println(x.charAt(index) + " ");
//można też użyć pętli foreach

i ten przykład z c++ nie jest poprawny.

 


Przyjemne w c++, tak przyjemne że jak ostatnim razem byłem zmuszony coś robić w C++ to miałem ochotę formatować komputer.

czemuż to?

Opublikowano

Masz operator [] który zwraca znak(char), możesz wykorzystywać obiekty std::string tak jakby były tablicami. To do dobierania się do poszczególnych elementów. napis[0] to pierwszy znak, napis[3] to czwarty itd..

 

Trudno powiedzieć jakie metody powinieneś znać, bo jest ich dużo i są przeznaczone dla różnych zastosowań. Najlepiej gdy wystąpi potrzeba znaleźć odpowiednią w dokumentacji, np. tutaj:

http://www.cplusplus.com/reference/string/string/Angielska.

http://cpp0x.pl/dokumentacja/standard-C++/basic_string/969Polska.

Jest lista metod wraz z ich opisem, co w tym trudnego?

 

@down to ja się zgubiłem, przecież to dział Javy... To w takim razie taki kod w C++:

tekst[5];

W Javie wygląda tak:

tekst.charAt(5);

Metoda charAt zamiast operatora [] i tyle.

Opublikowano

chwila, zgubiłem się teraz. Chodzi o c++ czy o Jave?

 

w c++:

std::string testString = "Hello world";
for(int index = 0; index < testString.length(); ++index) std::cout << testString[index] << " ";

w javie podałem wyżej.

Opublikowano

Tera jest poprawny bo zmieniłeś z i=0 na i>=0

I odjąłeś od wielkości stringa 1, a wcześniej tego nie zrobiłeś.

A żeby było jeszcze czytelniej http://ideone.com/OETLws

Tak, zgadza się. Kod poprzedni pisałem szablonowo, bez głębszego zastanowienia. Chciałem jakoś zobrazować o co mi chodzi. 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...