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
 

ExBiT - zdjęcie

ExBiT

Rejestracja: 10.11.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 06.02.2012 16:24
-----

Moje tematy

Logomocja - pomoc przy komendzie

20.11.2011 14:44

Witam.
Może poważny język programowania to nie jest, ale mam z nim problem. Otóż brat robi zadania na Olimpiadę. Ja oczywiście, jako że jestem studentem informatyki, powinienem świecić przykładem, lecz niestety logo w mojej głowie dawno temu kopnęło w kalendarz. Problem polega na tym, że nie wiemy w jaki sposób usunąć ułamek z liczby.

Przykład:

 231231.23 


Ma po przekształceniu wyglądać następująco:

 231231 


Pozdrawiam i czekam na odpowiedź.
Exbit

Siemka.

10.11.2011 21:19

Cześć.
Nazywam się Damian i jestem studentem informatyki na I roku. Forum znalazłem na googlach i od razu mnie zaciekawiło ;] Widzę, że jest tutaj kilku użytkowników na poziomie i chcę dołączyć do ich grona. Co jeszcze? hmh.. Nie gram w cs'a, ale za to czynnie uprawiam sport. Znam c++ i jave, a moją specjalnością jest GUI. Myślę, że trochę pomogę na tym forum.
Pozdrawiam, ExBiT.

PS. Zły dział, proszę o przeniesienie.

Vectory - tutorial.

10.11.2011 16:55

Witam.
Na wstępie powiem, że jest to mój pierwszy poradnik na tym forum, więc " DO NOT BE TOO CRUDE".

Vectory - cóż to takiego? Otóż wektor reprezentuje zwykłą tablicę. Jest on jednak wyposażony w kilka dodatkowych funkcji ułatwiających nam jego mordernizację i dynamiczne zarządzanie.

1. Tworzenie.

Inicjacja wektorów w c++ jest dość prosta i działa według argumentacji:

vector <typ> nazwa;


Jako typ oznaczamy standardowe zmienne w c++. Może to być zmienna zmiennoprzecinkowa, całkowita, bądź też tekstowa.

W owym poradniku vectory podzielimy na 3 części (nazewnictwo własne):

a) puste,
B) optymalizujące,
c) optymalizująco-wartościowe.

Żaden z tych typów nie ma wielkiej rozbierzności w ogólnej deklaracji.
Wyżej przedstawione wektory tworzymy w następujący sposób(do opisu ich działania przejdziemy niżej):

a) vector <typ> nazwa;
B) vector <typ> nazwa(wielkość_tablicy);
c) vector <typ> nazwa(wielkosc_tablicy, wartosc_liczbowa_bądź_tekstowa_przyjmowana_przez_każdy_element);

- Wektor pusty nie ogranicza nas objętościowo. Możemy wrzucić do niego tyle elementów, ile nam jest do szczęścia potrzebne.
- Wektor optymalizujący podobnie jak ten opisany wyżej nie nakłada na nas jakichś zakazów działania na tablicach. Jego deklaracji jednakże używamy w szczególnych przypadkach, np. gdy chcemy od razu zarezerwować pewną ilość pamięci.
- Działanie tablicy optymalizująco-wartościowej jest również podobne do poprzedników. Jednakże deklarując wartość odwołujemy się do każdego elementu w tablicy. Jako przykład damy prosty vector, a niżej opiszemy jego działanie dokładniej:

vector <int> tab(99, 9);


Przy takej deklaracji, każdy z 99 elementów vectora będzie posiadał już z góry ustaloną wartość - 9.
Ciekawie jest, jeżeli za typ podamy zmienną tekstową. Wtedy element posiadał będzie ustaloną wartość w postaci tekstu. Przykład:

vector <string> tab(99, "Pozdrawiam amxx.pl"); 


2. Dynamiczne zarządzanie wektorem.

Jak już się możnabyło przekonać, wektory nie tylko są wygodne w użyciu, ale także możemy łatwo nimi "manipulować". Mówiąc "manipulować" mam na myśli łatwe zarządzanie danymi w nim umieszczonymi, lecz nie tylko. Każda funkcja wymaga od nas również odpowiedniej składni:

 nazwa_wektora.funkcja();


a) Dodawanie elementów.

Vector daje nam możliwość wyboru fukncji, z której chcemy korzystać. Mamy je 2, ale to już zawsze coś.
Pierwsza, czyli ta, od której zaczniemy to

push_back();


Daje nam on niestety możliwość dodawania elementów do wektora na sam koniec. Mimo tego jest on dość często używany, w szególnośći przy wypełnianiu tzw. pustych wektorów, o których już wcześniej była mowa. Bardzo dobrze komponuje się z pętlą for. Jeżeli komuś bardziej podoba się ta metoda, to odsyłam do dokumentacji - vector::push_back - C++ Reference

Drugą opcją przy dodawaniu elementów jest metoda insert - vector::insert - C++ Reference Ta jest zdecydowanie częściej stosowana, gdyż pozwala ona nam na swobodne operowanie umiejscowieniem i ilością dodanych elementów.

B) Usuwanie elementów.

Na wymazywanie(eng. erase) elementów położonych w wektorze pozwala nam funkcja:

erase();


Jest ona łatwa w obsłudze, gdyż może przyjmować 2 lub 1 argument. Zastosowanie jedno-argumentowe tej funkcji polega na przekazaniu erase lokacji/położenia elementu. Natomiast drugi sposób umożliwia usuwanie z przedziału od a do b.

Oczywiście wektory mają jeszcze więcej bardzo ciekawych zastosowań, lecz ja starałem się wymienić tylko te najważniejsze. Dla bardziej zainteresowanych umieszam dokumentację - vector - C++ Reference Stronka świetnie oddaje możliwośći wektorów wraz z przykładami.

Myślę już , że przy pojedynku tablica versus wektor, wybierzecie ten drugi ;]
Pozdrawiam, ExBiT