Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

operacje na stringachjak wyżej


  • Zamknięty Temat jest zamknięty
13 odpowiedzi w tym temacie

#1 pdr

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:57
Offline

Napisano 01.05.2010 21:54

Witam ponownie, mam kolejne (dla was pewnie proste) pytanie :)
Jeżeli mam string str='marynarka', to:
1. w jaki sposób mogę sprawdzić czy ten string zawiera literkę "b"
2. w jaki sposób mogę sprawdzić na jakiej pozycji jest literka "n"
3. w jaki sposób wyciągnąć ze zmienne str piąty znak (literkę)
4. w jaki sposób mogę sprawdzić czy druga literka zmiennej str to "a"

Z góry dziękuję.
  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 01.05.2010 22:01

1.contain
2.contain
3.string[4]
4.string[1] == '1'

polecam sobie przejrzeć plik string.inc jest on w folderze include w kompliatorze

Użytkownik DarkGL edytował ten post 01.05.2010 22:02

  • +
  • -
  • 0

#3 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 01.05.2010 22:16

W praktyce:
	new const str[]="marynarka"

//1
if (contain(str, "b")!=-1) log_amx("String zawiera 'b'")

//2
log_amx("String zawiera 'n' na pozycji %d", contain(str, "n"))

//3
log_amx("Piaty znak to %c", str[4])

//4
if (str[1]=='a') log_amx("Druga litera to 'a'")

  • +
  • -
  • 0

#4 pdr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:57
Offline

Napisano 02.05.2010 08:21

Super, dzięki.
Jeszcze jedno, czy można jakoś podmienić konkretną literę w stringu na inną?
Np. jeżeli mamy marynarka to wymienić "a" na "_" tak aby powstał ciąg m_ryn_rk_
  • +
  • -
  • 0

#5 Ortega

    mów mi Orti

  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 02.05.2010 08:50

AMX Mod X - Half-Life Scripting for Pros!
  • +
  • -
  • 0

#6 pdr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:57
Offline

Napisano 02.05.2010 12:07

Punkt trzeci się nie zgadza, nie mogę wyciągnąć czwartego znaku ze słowa marynarka
Mam taki kod
new str[] = "marynarka";
 client_cmd(0,"echo [czwarta litera %s]",str[3]);

i w konsoli dostaje:
[czwarta litera ynarka]

Czyli nie pobieram czwartej litery, tylko to co jest począwszy od czwartej litery.
  • +
  • -
  • 0

#7 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.05.2010 12:25

Punkt trzeci się nie zgadza, nie mogę wyciągnąć czwartego znaku ze słowa marynarka
Mam taki kod

new str[] = "marynarka";
 client_cmd(0,"echo [czwarta litera %s]",str[3]);

A zauważyłeś że ja ci nie dałem takiego kodu tylko inny ?

W praktyce:
[sma]
//3
log_amx("Piaty znak to %c", str[4])


%c != %s
  • +
  • -
  • 0

#8 pdr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:57
Offline

Napisano 02.05.2010 12:47

Masz rację nie zauważyłem, ale to mi nie wystarczy ponieważ chcę literkę "y" wstawić do zmiennej, a to co podałeś pozwala tylko wyświetlić literkę "y"
  • +
  • -
  • 0

#9 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.05.2010 13:42

w jaki sposób chcesz ją wstawić do zmiennej ?
tzn. co chcesz z nią później zrobić ?
  • +
  • -
  • 0

#10 pdr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:57
Offline

Napisano 02.05.2010 13:53

Chce żeby zadziałała mi instrukcja warunkowa jak poniżej

new str[] = "marynarka";
 if (str[3]=='y')
   client_cmd(0,"echo [znalezion: %c]",str[3]);

  • +
  • -
  • 0

#11 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 02.05.2010 14:13

no przecież zadziała ci
  • +
  • -
  • 0

#12 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.05.2010 14:34

poza tym pojedynczą literkę można "wrzucić do int'a"
new literka = 'c';
  • +
  • -
  • 0

#13 pdr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:57
Offline

Napisano 02.05.2010 23:57

Zgadza się, działało, nie zauważyłem. Dzięki za pomoc.
  • +
  • -
  • 0

#14 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7 492
  • Lokalizacja:AMXX.PL
Offline

Napisano 03.05.2010 00:04

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Problem rozwiązany

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych