Hm. Mam dopiero 17 lat jednak doskonale kojarzę kota Filemona, całe dzieciństwo go oglądałem :D Zmieniając temat świetne poradniki Panie Mirosławie! W końcu mogę się od podstaw uczyć programowania.
to jest pana najlepszy materiał moim zdaniem, przedstawia pan kolejno funkcje dla danej biblioteki, bardzo dociera do mnie ten sposób prowadzenia filmów.
Pana odcinki są prowadzone w bardzo ciekawy sposób, aż chce się słuchać i uczyć! Niewiadomo kiedy i minęło mi 20 minut podczas oglądania tego odcinka :D Dziękuje
super ze zrobiles takie filmy , dzieki nim czuje sie coraz pewniej w programowaniu, co mi sie przyda na studiach informatycznych, mam nadzieje ze obejrze i zrozumiem wszystkie twoje filmy ktore sa przedemna
Świetna robota! :) Potwierdzam, jako młody programista zjawiłem się tutaj po napotkaniu problemu "spacji w stringach". Serdeczne dzięki, tak trzymać :)
Ten odcinek był naprawdę świetny. Na studiach dawno temu miałam problemy z ogarnięciem stringów i charów i nigdy nie miałam pewności czy zadziała to co piszę. Ten odcinek rozwiał mi wszystkie wątpliwości. Dzięki!
Mimo, że sporo od waszych komentarzy czasu minęło, to muszę was poinformować, że w kwestii 7 odcinka nic się nie zmieniło. Jak zazwyczaj potrzebowałem obejrzeć filmik, a potem samemu napisać program, żeby wszystko zrozumieć, tak nagle bach! 7 odcinek i poświęcone 2 dni na zrozumienie wszystkiego w pełni. ;)
A już się martwiłam, że zaczynam się zatrzymywać w nauce i przestaję rozumieć C++. Widzę jednak, że nie tylko ja miałam taki problem z materiałem z 7 odcinka ;D
Ja także na świeżo przed chwilą przeanalizowalem 7 odcinek, spróbowalem sam napisać ten quiz, ale niestety, musialem pozmieniac troche kodu zeby zadzialało tak jak powinno. Udalo się i rozumiem teraz dobrze 7 odcinek. Wkońcu moge odpoczać i od jutra zacząć 8 odcinek ;D
Mam zapłon ale taka rada na przyszłość - oglądajcie pod rząd z 5 odcinków i rób co do joty co w nich jest, a potem postawcie sobie jakieś zadanie, jak np., ja - po dowiedzeniu się co to switch i znaniu wszystkich pętel, ifów itd. połączyłem sobie to wszystko w całość i stworzyłem taki bankomat z drugiego odcinka z 3 poziomy wyżej, według mnie, najlepsza metoda na nauke (tylko gorzej z odcinkiem 7 heh)
Super film ! :) Wiele razy brałem się za programowanie, ale zawsze ze skutkiem negatywnym. Dopiero dzięki Pańskim filmom mogę swobodnie zacząć. :) Mam nadzięję, że szybko Pan nie skończy nagrywać. :) Dziękuję i życzę wszystkiego dobrego
Bardzo przyjemny i dosyć łatwy do przyswojenia odcinek w porównaniu do odcinka 7. W tym materiale jednak nie za bardzo zostało wytłumaczone w jaki sposób działają niektóre funkcje np. Zawartość funkcji transform().
Fantastyczny materiał =) Jestem kolejną osobą, która dzięki Tobie powróciła nauki programowania po pierwszym nieudanym podejściu =D A tak btw. Nie przypominam sobie, żeby w Hellsingu Alucarda nazywano synem Draculi raczej sugerowano, że to właśnie on był Draculą przed ujarzmieniem przez człowieka. Pozdrawiam =)
Mi brakuje tutaj np. wyjaśnienia string::npos. Rozumiem że string::npos zwraca false dlatego tam w if była negacja, ale co to jest tak na prawdę bo informacja że zwróci prawdę jeśli znaleziono wyraz szukany jest bardzo uproszczona i nie wyjaśnia wszystkiego, właściwie nic - mamy rybę ale wędki już nie.
Podobnie się czuję z funkcją transform(), tzn niby wiemy jak działa cała napisana fraza, ale nie podano, co oznaczają te argumenty w nawiasie, czemu dwa razy jest napis.begin itp.
wydaje mi się że size_t tworzy zmienną która jest intem i zwraca jakąś wartość która jest indeksem szukanego wyrazu. Natomiast jeśli szukanie się nie powiedzie zwracane jest npos czyli no position które ma wartość ujemną -1 stąd ten warunek
Wyjasnie po trzech latach, ale moze dla kogos sie przyda kto bedzie ogladal ten tutorial w przyszlosci. npos to po prostu lement zmiennej size_t, a dokladniej integralna liczba całkowita o stałej przypisanej wartości = -1. Jako iż żaden znak w wyrazie / zdaniu nie może mieć wartości mniejszej niż 0 to wystąpienie npos oznacza błąd. Można to bardzo łatwo przetestować i zamiast string::npos wpisać po prostu -1 , kod będzie działać. if (pozycja!=-1) cout
8:00. Zatrzymałem filmik i postanowiłem spróbować zrobić to samemu, zanim obejrzę dalszą część:) Udało mi się, program wygląda następująco: #include using namespace std; string wyraz; int main() { cout > wyraz; int dlugosc=wyraz.length(); string zamiana; for(int i=1; i
@@venom1762 To jest zwykła deklaracja nowej zmiennej int o nazwie dlugosc. Przypisuje jej wartość długości wcześniej zadeklarowanej zmiennej wyraz (za pomocą funkcji length).
Otóż jedna mała kwestia. W moim przypadku, przy próbie kompilowania programu ze strumieniem zapisującym tekst do stringa: "cin >> napis" wyrzucał błąd - "Nie znaleziono operatora, który przyjmuje prawostronny operand typu std::string( lub nie istnieje akceptowalna konwersja)." Problem rozwiązany po dodaniu biblioteki , co ciekawe w Pana przypadku podczas wczytywania do stringa nie była ona konieczna (pracuję na Visual Studio 2012 ). Świetny materiał, pozdrawiam.
a ja pamiętam Jacka i Agatkę; Proszę o kilka filmików o programie C; Fajne filmiki, szybko mówione, ja muszę stopować, ale bardzo przystępna wiedza; Daję łapki. Dzięki !
Na tym odcinku dobrym zadaniem dla przećwiczenia może być napisanie gry - wisielec. Można w niej wykorzystać wszystko z poprzednich odcinków: współpracę z plikami, pętle, instrukcję if, liczby pseudolosowe, i komendy z biblioteki string. Pozdrawiam.
Mam takie tylko dwie uwagi. Wiem kto to jest kot Filemon a aż tak stary chyba nie jestem :D Druga uwaga to na temat DUŻYCH Liter. Powinno się chyba mówić Wielkich. Jak nie mam racji to mnie poprawcie. Odcinek bardzo dobry i powoli widać, że z ASCII będziemy korzystać aby otrzymać polskie ogonoki :D
13:50 Niezrozumiały warunek --> size_t pozycja=napis.find(szukaj); ta komenda nada wartość 4294967295 zmiennej pozycja, jeżeli nie odnaleziona zostanie fraza w szukanym fragmencie. Taką samą wartość zawsze przyjmuje string::npos. Dlatego sprawdzamy czy pozycja != string::npos Kod programu który pomógł mi to zrozumieć: #include #include using namespace std; string wyraz , napis; int main() { cout wyraz; size_t pos=napis.find(wyraz); cout
to rozwiązanie co do programu szukającego frazy w tekście jest bardzo inteligentne #include using namespace std; int main() { //mozna zaprogramowac pod plik fstream itd. string zdanie="Siema jestem Dawid i chcialbym zostac programista mysle ze to idelany zawod dla mnie"; int dlugosc=zdanie.length(); short ile_wyrazow=0; for(int i = 0; i
W pierwszym programie można dodać jeszcze funkcję która zamienia całe imię na małe litery. Bo jeśli ktoś wpisze imię np. ANNA z caps lockiem to rezultat będzie taki że to jest mężczyzna :)
W rozpoznawaniu płci był błąd bo jak ktoś wpisał imię z caps lockiem i jest to np "ALA" pokazuję się komunikat "Wydaje mi sie, ze jestes facetem" więc trzeba wpisać if (imie[dlugosc-1]=='a' || 'A') zamiast if (imie[dlugosc-1]=='a') i wtedy jak ktoś wpisze "ALA" to będzie komunikat "Wydaje mi sie, ze jestes kobieta"
11:46 Witam :) Spróbowałem takiego manewru ze usunąłem podaną bibliotekę i dalej wszystko działało bez problemu ? Dlaczego ? Znaczy ze nie potrzeba dodawać takiej biblioteki ? Pozdrawiam :)
Z tym pomijaniem spacji przez cin to ciekawa sprawa, ja zmodyfikowałem ten program z odwracaniem napisów tak by działał w pętli, po czym wpisałem napis ze spacjami i wyszło takie coś: i.imgur.com/6mQ2QG3.png?1 (dwa razy cin nie czekał na podanie napisu), a zmodyfikowany program wygląda tak: #include #include #include using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char** argv) { string napis; int dlugosc; while(1) { cout napis; dlugosc = napis.length(); for(int i =dlugosc - 1;i >= 0;i--) { cout
Odnoszac sie do odcinka o wpisywaniu , chcialem zrobic tak by zapisalo mi moje cale naziwsko (ma dwuczonowe po spacji) , ale getline robi jakies glupoty ( kompletnie pomija proces wpisywania nazwiska) , ktos moze pomoc :)?
Ciekawe :) Mam w sumie jedno pytanie. Podczas wcześniejszego kursu zacząłem małe eksperymenty z funkcją "transform" i tutaj pojawia się moje pytanie. Jak można zmienić wielkość litery dla konkretnego elementu? Przykładowo mam imię Redrum i chcę je obrócić. Wszystko ładnie wyszło, mam murdeR ale jak widać pierwsza litera jest mała, a ostatnia duża i chciałbym to w tym momencie zmienić. Coś kombinowałem ale wywalało mi co chwila dziwne błędy, więc nie chcę zadręczać kawałkiem mojego kodu :D
Witam, Jeśli chodzi o getline() który nie jest pierwszym pobraniem zmiennej to ja dotychczas nie znając jeszcze funkcji cin.ignore() używałem getchar() przed getlinem aby pobrać zostający znak w poprzednim strumieniu: int main() { string jeden,dwa; cin>>jeden; cout
ratujesz życie człowieku, nawet nie wiesz ile się naszukałem odpowiedzi. Nie wierzyłem, że trzeba używać wskaznikow i tablic z charami w C++, musiało być jakieś rozwiązanie i oto pojawia się Twój komentarz. Niech Ci ziemia lekką będzie czy cos :D
Dzień dobry, czy w 14:40 przy funkcji erase() nie powinno być tak, że program kasuje najpierw spacje, a potem litery "m" i "a"? Z tego co pamiętam mówił Pan że wyrazy stringa liczy się od 1 a nie od 0, więc erase(3,3) zaczyna kasować trzy znaki po wyrazie "Ala". A Pan się chyba przejęzyczył mówiąc że program kasuje "m", "a" i spację :)
+TheBasketmat zmienne deklarowane poza main to zmienne globalne, które odnoszą się do całego main, a te deklarowane w main to zmienne lokalne, ta wiedza przyda ci sie później, jak będziesz pisał bardziej złożone programy
Jednym słowem świetny poradnik robię sobie nim przypomnienie do maturki z informatyki :) Mogę prosić o jakiś link do utworów zawartych w Pana materiałach ? Są świetne by się uczyć tak sądzę :)
@Pasja informatyki Zabrakło mi pełnego wyjaśnienia tego fragmentu, if(pozycja!=string::npos). Co to jest to npos? i ogólnie całego ifa za bardzo nie rozumiem. pozycja będzie równe 7. Czyli w praktyce if(7!=string::npos) co to włascwiei oznacza, tak w szczegółach?
Witam Czy taka petla do zamiany malych liter na duze jest w czyms lepsza/gorsza od transform? #include using namespace std; string napis="cos tam"; main() { for(int i=0;i
Mam pewien problem. Otóż zainstalowałem codeblocksa po przenosinach na win10 na nowym komputerze i podczas uruchamiania każdego programu za pomocą F9 lub przyciskiem Run uruchamia się konsola z pustym polem i napisem, że aby zakończyć program należy nacisnąć dowolny przycisk, itd. Czy ktoś wie czym może być to spowodowane? Z góry dzięki.
Ja ulepszyłem pierwszy program, na wypadek gdyby ktoś wpisał "Kuba", żeby program nie upierał się, że jest kobietą. Prosta zmiana a cieszy :D #include using namespace std; int main() { string imie; cout
Potrzebuje pomocy, jakie kody ASCII ma klawisz F1. Wiem że jeden z nich ma kod 59 natomiast nigdzie nie mogę znajść informacji o drugim jego kodzie. Liczę na waszą pomoc!
Witam, mam problem dotyczący "error: 'std::string' has no member named 'lenght' ", mam wszystko tak jak na odcinku i dalej nie działa, co zrobić? gdy stawiam kropke po 'imie' powinna mi się wyświetlić chyba lista opcji a nic takiego nie ma.
Hej, świetny poradnik, chciałbyś nagrać kurs o mojej bibliotece? Służy niby tylko do zamykania programu ale ma osobny wątek i zamyka program po upłynięciu jakiegoś czasu (chyba że jako parametr podamy NULL), można zamknąć nią dowolny proces i pozwala na wyzerowanie czasu przez co program będzie wykonywał się dalej aż okres czasu podany wcześniej nie upłynie od nowa. Ma też funkcję anulującą zamykanie gdyby programista w pewnym momencie programu rozmyślił się z autozamykania. Jeżeli jesteś zainteresowany dam ci link do Rar'a z biblioteką i dokumentacją (dość prymitywną i tylko po Polsku ale zawsze coś ;) ).
Witam. Wiem, że ten kurs ma już niemal 3 lata, więc nie spodziewam się odpowiedzi od Pana Mirka, ale może kto inny odpowie. Zanim Pan Mirosław pokazał jak napisać program odwracający wyrazy na pętli for, zatrzymałem filmik i spróbowałem napisać go sam. Udało się - program działa, lecz nie na pętli for, a mianowicie: while (dlugosc
Proszę pana najlepszego! mam pytanie dotyczące odczytywaniu parametrów z konsoli. Chcę zrobić wiersz poleceń, coś jak w quake. np. set czas 20 Ale z typami string mam ten problem ze wartosci na koncu nie dają się zamienić na int :) a może jest możliwość zamiany getline(cin,... ) tak aby pobierała 3 parametry osobno do wielu zmiennych? PROSZĘ O POMOC :) przyda mi się to do kierowania hackami ! KOCHAM PANA!
Witam Właśnie zainstalowałem Code::Blocks i program nie może znaleźć ścieżki kompilatora GNU GCC. czy jest coś co mogę zrobić czy też jest to błąd kompilatora i muszę czekać na patcha lub przerzucić się na inny kompilator (np: dev c++)
Ciekawe czy po takim czasie mi ktoś odpowie ale miałbym pytania do tego odcinka. Po co w zasadzie usuwać, dodawać lub zamieniać coś w słowie i zastanawiać się pod którą liczbą powinno się zapisać jeżeli można napisać oddzielnego string'a? Czy to wpływa jakoś może na optymalizację czy coś? I po co tworzyć nowego stringa np. Szukaj skoro działa także kiedy się zapisze? size_t pozycja=napis.find("kot");
"W tym odcinku przyjrzymy się dokładniej stringom"... Dobrze, że nikogo akurat w pokoju nie było...
Hah
a potem pokażę wam co to ból (bool)
Hm. Mam dopiero 17 lat jednak doskonale kojarzę kota Filemona, całe dzieciństwo go oglądałem :D Zmieniając temat świetne poradniki Panie Mirosławie! W końcu mogę się od podstaw uczyć programowania.
+Jakub Olszak Tak samo, chyba na Polsacie, lub tvp leciał, :D
Ja mam 12 lat i go xnam
I co dalej programujesz po 3 latach? :D
A ja nawet mniej mam lat i go znam!
@@ttrappix6172 tez mialem sie o to zapytac
Dzięki tobie zaczynam rozumieć C++.
ja też
ja tez
ogólnie to siedziałem 15 minut nad funkcją length bo zamiast napisac "length" to napisałem "lenght"
dzięki xD
Dzięki za nieumyślną pomoc :D
Dzięki, ja już myślałem, że coś mi nie działa z kompilatorem xD
dzięki, nawet nie wiesz jak pomogłeś
też tak miałem
Użycie stringów jest bardziej komfortowe dla programisty ;) 3:28
a noszenie? xD
@@aniaanna5050 A to już kwestia gustu osobistego :D
"i jest bardziej sexowne" :D
xD daje like
"Teraz bedziemy sklejac stringi" :0
to jest pana najlepszy materiał moim zdaniem, przedstawia pan kolejno funkcje dla danej biblioteki, bardzo dociera do mnie ten sposób prowadzenia filmów.
Pana odcinki są prowadzone w bardzo ciekawy sposób, aż chce się słuchać i uczyć! Niewiadomo kiedy i minęło mi 20 minut podczas oglądania tego odcinka :D Dziękuje
super ze zrobiles takie filmy , dzieki nim czuje sie coraz pewniej w programowaniu, co mi sie przyda na studiach informatycznych, mam nadzieje ze obejrze i zrozumiem wszystkie twoje filmy ktore sa przedemna
7 odcinek taki trudny, a tutaj taki przyjemny :D
Rozłożyłem się na 7 też :(
@@erasalams61 ja tez stary xD, jeśli moge zapytać to jak ci idzie programowanie po tych 8 miesiacach? :)
dołączamsię do pytania
Bardzo przyjemnie się ogląda ten kurs. Łapka w górę.
Świetna robota! :)
Potwierdzam, jako młody programista zjawiłem się tutaj po napotkaniu problemu "spacji w stringach". Serdeczne dzięki, tak trzymać :)
oglądają inne poradniki o c++ to nic nie rozumiałem ale po twoich poradnikach prawie wszystko rozumiem :-)
Ten odcinek był naprawdę świetny. Na studiach dawno temu miałam problemy z ogarnięciem stringów i charów i nigdy nie miałam pewności czy zadziała to co piszę. Ten odcinek rozwiał mi wszystkie wątpliwości. Dzięki!
Nie jestem tak stary a dobrze znam ową bajkę ;]
Pozdrawiam, świetny materiał, jak zawsze! :)
Co za ożywczy powiew po odcinku 7. Tam była masakra :), chociaż powoli zacząłem kumać o co chodzi. Lecimy do następnego odcinka.
Mimo, że sporo od waszych komentarzy czasu minęło, to muszę was poinformować, że w kwestii 7 odcinka nic się nie zmieniło. Jak zazwyczaj potrzebowałem obejrzeć filmik, a potem samemu napisać program, żeby wszystko zrozumieć, tak nagle bach! 7 odcinek i poświęcone 2 dni na zrozumienie wszystkiego w pełni. ;)
A już się martwiłam, że zaczynam się zatrzymywać w nauce i przestaję rozumieć C++. Widzę jednak, że nie tylko ja miałam taki problem z materiałem z 7 odcinka ;D
Ja także na świeżo przed chwilą przeanalizowalem 7 odcinek, spróbowalem sam napisać ten quiz, ale niestety, musialem pozmieniac troche kodu zeby zadzialało tak jak powinno. Udalo się i rozumiem teraz dobrze 7 odcinek. Wkońcu moge odpoczać i od jutra zacząć 8 odcinek ;D
Mam zapłon ale taka rada na przyszłość - oglądajcie pod rząd z 5 odcinków i rób co do joty co w nich jest, a potem postawcie sobie jakieś zadanie, jak np., ja - po dowiedzeniu się co to switch i znaniu wszystkich pętel, ifów itd. połączyłem sobie to wszystko w całość i stworzyłem taki bankomat z drugiego odcinka z 3 poziomy wyżej, według mnie, najlepsza metoda na nauke (tylko gorzej z odcinkiem 7 heh)
też tak uważam
Kolejny rzetelnie wyjaśniony odcinek ! Dziękuje i pozdrawiam ! :D
hmm. Pamiętam kota Filemona i mam 17, Panie Mirosławie jest pan wielki!
Duża dawka wiedzy, przyda się, dzięki
Super film ! :) Wiele razy brałem się za programowanie, ale zawsze ze skutkiem negatywnym. Dopiero dzięki Pańskim filmom mogę swobodnie zacząć. :) Mam nadzięję, że szybko Pan nie skończy nagrywać. :) Dziękuję i życzę wszystkiego dobrego
Bardzo przyjemny i dosyć łatwy do przyswojenia odcinek w porównaniu do odcinka 7. W tym materiale jednak nie za bardzo zostało wytłumaczone w jaki sposób działają niektóre funkcje np. Zawartość funkcji transform().
Fantastyczny materiał =) Jestem kolejną osobą, która dzięki Tobie powróciła nauki programowania po pierwszym nieudanym podejściu =D
A tak btw. Nie przypominam sobie, żeby w Hellsingu Alucarda nazywano synem Draculi raczej sugerowano, że to właśnie on był Draculą przed ujarzmieniem przez człowieka.
Pozdrawiam =)
Mi brakuje tutaj np. wyjaśnienia string::npos. Rozumiem że string::npos zwraca false dlatego tam w if była negacja, ale co to jest tak na prawdę bo informacja że zwróci prawdę jeśli znaleziono wyraz szukany jest bardzo uproszczona i nie wyjaśnia wszystkiego, właściwie nic - mamy rybę ale wędki już nie.
Podobnie się czuję z funkcją transform(), tzn niby wiemy jak działa cała napisana fraza, ale nie podano, co oznaczają te argumenty w nawiasie, czemu dwa razy jest napis.begin itp.
wydaje mi się że size_t tworzy zmienną która jest intem i zwraca jakąś wartość która jest indeksem szukanego wyrazu. Natomiast jeśli szukanie się nie powiedzie zwracane jest npos czyli no position które ma wartość ujemną -1 stąd ten warunek
Wyjasnie po trzech latach, ale moze dla kogos sie przyda kto bedzie ogladal ten tutorial w przyszlosci.
npos to po prostu lement zmiennej size_t, a dokladniej integralna liczba całkowita o stałej przypisanej wartości = -1.
Jako iż żaden znak w wyrazie / zdaniu nie może mieć wartości mniejszej niż 0 to wystąpienie npos oznacza błąd.
Można to bardzo łatwo przetestować i zamiast string::npos wpisać po prostu -1 , kod będzie działać.
if (pozycja!=-1)
cout
@@krzysztofrozbicki1776
Dzięki za wyjaśnienie kolego z przeszłości :)
8:00. Zatrzymałem filmik i postanowiłem spróbować zrobić to samemu, zanim obejrzę dalszą część:)
Udało mi się, program wygląda następująco:
#include
using namespace std;
string wyraz;
int main()
{
cout > wyraz;
int dlugosc=wyraz.length();
string zamiana;
for(int i=1; i
no fajnie fajnie tylko skad znalez int dlugosc=wyraz.length();? :)
@@venom1762 To jest zwykła deklaracja nowej zmiennej int o nazwie dlugosc. Przypisuje jej wartość długości wcześniej zadeklarowanej zmiennej wyraz (za pomocą funkcji length).
Dzięki mam 11 lat i wszystko rozumiem :)
jak idzie programowanie ??
Mam 666 lat i wszystko rozumiem
O nie null z minecrafta atakuje! Xd #dzieckominecrafta
super atencjuszu chcesz order malego programisty? -,-
ElektronPL youtube jest od 13 lat
Imię czytane od końca to dobry przykład na funkcje rekurencyjną : )
Bardzo fajny odcinek.
Dla użytkowników Visual Studio:
#include
Mam nadzieje, że pomogłem :)
Dzięki
@@Damian-uc8ox polecam serdecznie
Propsy za Alucarda! ^ ^
propsy za piękny profil
Jak zwykle genialny odcinek, jutro lecimy z nastepna lekcja :D
2021 i jak słyszę że zgadnie płeć po końcówce imienia to mi się śmiać zachciało
Super odcinek
12:30 Dlaczego dwa razy wpisujemy begin? Za pierwszym razem zaczyna, za drugim konczy i czemu jeszcze raz ma zaczac?
najpewniej pierwsze 2 definiują o jakie słowo chodzi, a drugi od którego momentu ma zacząć
fajnie zebrane panie Mirosławie tylko kiedy ja to ogarnę, ale nie poddawajmy się jeszcze chcę tylko poznać podstawowe komendy dam radę ;-)
Świetnie tłumaczysz, łapa w górę!
Super odcinek, właśnie dzięki wydanym przez ciebie lekcjom nadrobiłem materiał informatyki rozszerzonej z ostatniego pół roku XD
xd
Otóż jedna mała kwestia. W moim przypadku, przy próbie kompilowania programu ze strumieniem zapisującym tekst do stringa: "cin >> napis" wyrzucał błąd - "Nie znaleziono operatora, który przyjmuje prawostronny operand typu std::string( lub nie istnieje akceptowalna konwersja)." Problem rozwiązany po dodaniu biblioteki , co ciekawe w Pana przypadku podczas wczytywania do stringa nie była ona konieczna (pracuję na Visual Studio 2012 ). Świetny materiał, pozdrawiam.
a ja pamiętam Jacka i Agatkę; Proszę o kilka filmików o programie C; Fajne filmiki, szybko mówione, ja muszę stopować, ale bardzo przystępna wiedza; Daję łapki. Dzięki !
Na tym odcinku dobrym zadaniem dla przećwiczenia może być napisanie gry - wisielec.
Można w niej wykorzystać wszystko z poprzednich odcinków: współpracę z plikami, pętle, instrukcję if, liczby pseudolosowe, i komendy z biblioteki string. Pozdrawiam.
pozdrawiam z rodzinkom
prosty odcinek, większość osób odpadło dokładnie na dziś 800 tysięcy.
lecimy dalej z tematem ;)
Pierwszy program - Kuba lubi to
spróbujcie sobie tego:
#include
#include
using namespace std;
int main()
{
string jeden="Ala ma ";
string dwa="kota.";
string trzy=trzy+dwa;
cout
wyjdzie prawdopodobnie kota. Ogólnie to zmienna "trzy" jest niezinicjalizowana, gdy jest używana w jego własnej inicjalizacji.
Jeszcze nie obejrzałem całości, ale podejrzewam, że Pańskie "Jan Maria" z poprzedniego odcinka tutaj wysiada ;)
Dlatego dla bezpieczeństwa program mówi "Wydaje mi się" ;p
Bo nie kazde imie zenskiekonczy sie na a
Albo "Kuba"
Mam takie tylko dwie uwagi. Wiem kto to jest kot Filemon a aż tak stary chyba nie jestem :D Druga uwaga to na temat DUŻYCH Liter. Powinno się chyba mówić Wielkich. Jak nie mam racji to mnie poprawcie. Odcinek bardzo dobry i powoli widać, że z ASCII będziemy korzystać aby otrzymać polskie ogonoki :D
Elegancko
fajne filmy mirek
13:50 Niezrozumiały warunek --> size_t pozycja=napis.find(szukaj); ta komenda nada wartość 4294967295 zmiennej pozycja, jeżeli nie odnaleziona zostanie fraza w szukanym fragmencie. Taką samą wartość zawsze przyjmuje string::npos. Dlatego sprawdzamy czy pozycja != string::npos
Kod programu który pomógł mi to zrozumieć:
#include
#include
using namespace std;
string wyraz , napis;
int main()
{
cout wyraz;
size_t pos=napis.find(wyraz);
cout
Genialne!
Najlepszy :)
to rozwiązanie co do programu szukającego frazy w tekście jest bardzo inteligentne
#include
using namespace std;
int main()
{
//mozna zaprogramowac pod plik fstream itd.
string zdanie="Siema jestem Dawid i chcialbym zostac programista mysle ze to idelany zawod dla mnie";
int dlugosc=zdanie.length();
short ile_wyrazow=0;
for(int i = 0; i
Dobre!
Pan Mirek: Puki co, wspominam tylko o istnieniu tablicy. Niedługo przyjdzie nam z niej skorzystać.
ja: *still waiting*
Użycie stringów jest bardziej komfortowe dla programisty... :D
Cenna rada
W pierwszym programie można dodać jeszcze funkcję która zamienia całe imię na małe litery. Bo jeśli ktoś wpisze imię np. ANNA z caps lockiem to rezultat będzie taki że to jest mężczyzna :)
W cudzysłowiE nie ma "u" na końcu. A tak poza tym to przydatny poradnik :)
Czy ktoś wie czy jest jakas apka np. z Fiszkami w których są wypisane wszystkie biblioteki i do jakich przypadków ich sie uzywa?
W rozpoznawaniu płci był błąd bo jak ktoś wpisał imię z caps lockiem i jest to np "ALA" pokazuję się komunikat "Wydaje mi sie, ze jestes facetem" więc trzeba wpisać
if (imie[dlugosc-1]=='a' || 'A')
zamiast
if (imie[dlugosc-1]=='a')
i wtedy jak ktoś wpisze "ALA" to będzie komunikat "Wydaje mi sie, ze jestes kobieta"
11:46
Witam :)
Spróbowałem takiego manewru ze usunąłem podaną bibliotekę i dalej wszystko działało bez problemu ?
Dlaczego ?
Znaczy ze nie potrzeba dodawać takiej biblioteki ?
Pozdrawiam :)
duzo zalezy od IDE w jakim programujesz , niektore moga miec to defaultowo zapisane inne nie , bezpieczniej jest pisac zawsze :)
Mam pytanie: Czemu nie rejestrujemy tablicy napis (w 4:00) tylko od razu z niej korzystamy?
Z tym pomijaniem spacji przez cin to ciekawa sprawa, ja zmodyfikowałem ten program z odwracaniem napisów tak by działał w pętli, po czym wpisałem napis ze spacjami i wyszło takie coś: i.imgur.com/6mQ2QG3.png?1 (dwa razy cin nie czekał na podanie napisu), a zmodyfikowany program wygląda tak:
#include
#include
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv)
{
string napis;
int dlugosc;
while(1)
{
cout napis;
dlugosc = napis.length();
for(int i =dlugosc - 1;i >= 0;i--)
{
cout
Odnoszac sie do odcinka o wpisywaniu , chcialem zrobic tak by zapisalo mi moje cale naziwsko (ma dwuczonowe po spacji) , ale getline robi jakies glupoty ( kompletnie pomija proces wpisywania nazwiska) , ktos moze pomoc :)?
Dobrym przykładem do odwrócenia jest zdanie: "kobyla ma maly bok"
super rada
DLA LENIWYCH (:
#include
using namespace std;
int main()
{
string wyraz;
cout
pytanie czy jest jakaś różnica między zapisem
napis = toupper(napis);
a tym :
transform(napis.begin(),napis.end(),napis.begin(),::toupper); ????
Ma pytanie. Chodzi oto że chciałbym zrobić system logowania z tym że chciałbym aby zamiast hasła na ekran wypisywały się gwiazdki(*). Jak to zrobić?
Dlaczego w funkcji if wyrażenie dlugosc-1 jest w nawiasie kwadratowym? (6:52) W okrągłym nie działa.
***** Dziękuję za odpowiedź, Czy dobrze rozumiem, że wszystkie zmienne typu string są automatycznie tablicami?
18:25 czy ktoś moze wie czy taki odcinek powstał? (co do tabeli ascii)
Ciekawe :)
Mam w sumie jedno pytanie. Podczas wcześniejszego kursu zacząłem małe eksperymenty z funkcją "transform" i tutaj pojawia się moje pytanie. Jak można zmienić wielkość litery dla konkretnego elementu? Przykładowo mam imię Redrum i chcę je obrócić. Wszystko ładnie wyszło, mam murdeR ale jak widać pierwsza litera jest mała, a ostatnia duża i chciałbym to w tym momencie zmienić. Coś kombinowałem ale wywalało mi co chwila dziwne błędy, więc nie chcę zadręczać kawałkiem mojego kodu :D
Witam,
Jeśli chodzi o getline() który nie jest pierwszym pobraniem zmiennej to ja dotychczas nie znając jeszcze funkcji cin.ignore() używałem getchar() przed getlinem aby pobrać zostający znak w poprzednim strumieniu:
int main()
{
string jeden,dwa;
cin>>jeden;
cout
ratujesz życie człowieku, nawet nie wiesz ile się naszukałem odpowiedzi. Nie wierzyłem, że trzeba używać wskaznikow i tablic z charami w C++, musiało być jakieś rozwiązanie i oto pojawia się Twój komentarz. Niech Ci ziemia lekką będzie czy cos :D
5:45 , Po co robić zmienną jak od razu można zapisać w ifie, że chodzi nam o ,,lenghty" znak?
Dzień dobry, czy w 14:40 przy funkcji erase() nie powinno być tak, że program kasuje najpierw spacje, a potem litery "m" i "a"? Z tego co pamiętam mówił Pan że wyrazy stringa liczy się od 1 a nie od 0, więc erase(3,3) zaczyna kasować trzy znaki po wyrazie "Ala". A Pan się chyba przejęzyczył mówiąc że program kasuje "m", "a" i spację :)
***** Dziękuję za odpowiedź :)
dlaczego jak wpisuje kod z 10:36 to ucina mi pierwsze słowo w codebloxie? Jakaś aktualizacje weszła?
Sprawdź jeszcze raz kod, mi działa wszystko jak powinno
Dlaczego zmienne deklarujesz raz w main(), a innym razem przed?
+TheBasketmat zmienne przed main() są od razu wyzerowane ;)
+TheBasketmat zmienne deklarowane poza main to zmienne globalne, które odnoszą się do całego main, a te deklarowane w main to zmienne lokalne, ta wiedza przyda ci sie później, jak będziesz pisał bardziej złożone programy
Kolejny super odcinek :) Co to za melodia we wstępie 0:00 - 0:07 ?
Ja chodzę do podstawówki i oglądałem Filemona.
P.S. chciałbym zaznaczyć że chodzę tam jako uczeń, nie nauczyciel
2 pytania
1.Czy tylko u mnie wszystko dziala bez #include ?
2.Po co stosowac size_t jak mozna poprostu dac int i bedzie ten sam efekt?
13 lat znam filemona
Jednym słowem świetny poradnik robię sobie nim przypomnienie do maturki z informatyki :) Mogę prosić o jakiś link do utworów zawartych w Pana materiałach ? Są świetne by się uczyć tak sądzę :)
@Pasja informatyki Zabrakło mi pełnego wyjaśnienia tego fragmentu, if(pozycja!=string::npos). Co to jest to npos? i ogólnie całego ifa za bardzo nie rozumiem. pozycja będzie równe 7. Czyli w praktyce if(7!=string::npos) co to włascwiei oznacza, tak w szczegółach?
Też się na tym zatrzymałem szukając wyjaśnienia we wcześniejszych programach i komentarzach
npos to nieskonczonosc, no position, czyli czy znaleziono na 7 czy wywalilo npos
tego zapisu if(pozycja!=string::npos) do końca nie zrozumiałam..
do czego się odnosi "string::npos" ?
Witam
Czy taka petla do zamiany malych liter na duze jest w czyms lepsza/gorsza od transform?
#include
using namespace std;
string napis="cos tam";
main()
{
for(int i=0;i
jak jest komenda string napis=".......";
cout
Mam pewien problem. Otóż zainstalowałem codeblocksa po przenosinach na win10 na nowym komputerze i podczas uruchamiania każdego programu za pomocą F9 lub przyciskiem Run uruchamia się konsola z pustym polem i napisem, że aby zakończyć program należy nacisnąć dowolny przycisk, itd. Czy ktoś wie czym może być to spowodowane? Z góry dzięki.
Czy jak zadeklaruje stringa jako liczbe to moge pozniej jej uzywac do obliczen w programie np string liczba{1234} suma=liczba[1]*liczba[2]
4:40 czy ty właśnie określiłeś czyjąś płeć?!!!! jk, spoko film :)
DiD yOu JuSt AsSuMeD mY gENdeR???
Ja ulepszyłem pierwszy program, na wypadek gdyby ktoś wpisał "Kuba", żeby program nie upierał się, że jest kobietą. Prosta zmiana a cieszy :D
#include
using namespace std;
int main()
{
string imie;
cout
KubissusPL
+KubissusPL Uratowałeś Kubów. ;)
nie ma imienia Kuba :)
Jest, Jakub i Kuba to osobne imiona
Data, datą, ale ja zrobiłem identyczne ulepszenie :)
nie bardzo rozumiem ten warunek if(pozycja!=string::npos) , czy moglbym prosić o wyjaśnienie? (przepraszam ze to kolejne pytanie pod tym filmem)
Potrzebuje pomocy, jakie kody ASCII ma klawisz F1. Wiem że jeden z nich ma kod 59 natomiast nigdzie nie mogę znajść informacji o drugim jego kodzie. Liczę na waszą pomoc!
Witam, mam problem dotyczący "error: 'std::string' has no member named 'lenght' ", mam wszystko tak jak na odcinku i dalej nie działa, co zrobić?
gdy stawiam kropke po 'imie' powinna mi się wyświetlić chyba lista opcji a nic takiego nie ma.
***** Dziękuje, nie zauważyłem tego błędu :) PS. bardzo pomocny kurs, dziękujemy :D
Szkoda, że na 8 odcinku nie ma dwójki z przodu - liczba wyświetleń.
Zagadka na dziś: Dlaczego program nie odwraca wyrazu "zakopane na pokaz" oczywiście posanego bez spacji ???
Hej, świetny poradnik, chciałbyś nagrać kurs o mojej bibliotece? Służy niby tylko do zamykania programu ale ma osobny wątek i zamyka program po upłynięciu jakiegoś czasu (chyba że jako parametr podamy NULL), można zamknąć nią dowolny proces i pozwala na wyzerowanie czasu przez co program będzie wykonywał się dalej aż okres czasu podany wcześniej nie upłynie od nowa. Ma też funkcję anulującą zamykanie gdyby programista w pewnym momencie programu rozmyślił się z autozamykania. Jeżeli jesteś zainteresowany dam ci link do Rar'a z biblioteką i dokumentacją (dość prymitywną i tylko po Polsku ale zawsze coś ;) ).
Witam mam pytanie w jaki sposób mogę zapisać ułamek zwykły w zmiennej string ? :)
Ja znam kota filemona :) to według tego co powiedział Pan Mirosław, wychodzi na to że Pan Mirosław ma 15 lat hah :D
Witam. Wiem, że ten kurs ma już niemal 3 lata, więc nie spodziewam się odpowiedzi od Pana Mirka, ale może kto inny odpowie.
Zanim Pan Mirosław pokazał jak napisać program odwracający wyrazy na pętli for, zatrzymałem filmik i spróbowałem napisać go sam. Udało się - program działa, lecz nie na pętli for, a mianowicie:
while (dlugosc
KubinWielki jest to mniej czytelny zapis
o super, wpisze sobie imie Kuba
Proszę pana najlepszego!
mam pytanie dotyczące odczytywaniu parametrów z konsoli.
Chcę zrobić wiersz poleceń, coś jak w quake.
np. set czas 20
Ale z typami string mam ten problem ze wartosci na koncu nie dają się zamienić na int :)
a może jest możliwość zamiany getline(cin,... ) tak aby pobierała 3 parametry osobno do wielu zmiennych?
PROSZĘ O POMOC :) przyda mi się to do kierowania hackami ! KOCHAM PANA!
Kot filemon mama mi czytala jak mialem 4 lata a teraz mam 11 i go znam
Witam
Właśnie zainstalowałem Code::Blocks i program nie może znaleźć ścieżki kompilatora GNU GCC. czy jest coś co mogę zrobić czy też jest to błąd kompilatora i muszę czekać na patcha lub przerzucić się na inny kompilator (np: dev c++)
A zainstalowales wszystko jak kazano w 0 odcinku?
w odcinku 0 masz wszystko wytłumaczone
Ciekawe czy po takim czasie mi ktoś odpowie ale miałbym pytania do tego odcinka.
Po co w zasadzie usuwać, dodawać lub zamieniać coś w słowie i zastanawiać się pod którą liczbą powinno się zapisać jeżeli można napisać oddzielnego string'a? Czy to wpływa jakoś może na optymalizację czy coś?
I po co tworzyć nowego stringa np. Szukaj skoro działa także kiedy się zapisze?
size_t pozycja=napis.find("kot");