Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundację Dzieciom „Zdążyć z Pomocą”.
Więcej informacji na dug.net.pl/pomagamy/.

#26 2011-08-21 01:43:38

Trin
Wredotka
Zarejestrowany: 2008-05-16

Re: C/C++ - początki.

ArnVaker napisał(-a):

Trin napisał(-a):

Nie jest zbyt nowy ale takie podstawy jak klasy, wskaźniki, struktury ma naprawdę elegancko wytłumaczone.

NIC? ;)

Coś Ty, NIC to jeszcze "nówka, nie śmigana" :D

Offline

 

#27 2011-08-21 23:06:08

HAL9000
Użytkownik
Zarejestrowany: 2006-04-22

Re: C/C++ - początki.

Zdecydowane nie ma żadnych wątpliwości iż c i c++ to sama radość z programowania i jeszcze większa z jego uczenia się. Przykład:

Kod:

#include <iostream>
using namespace std;

void funkcja_a(void (*fp)(int), int);
void funkcja_b(int);
void funkcja_c(int);

int main()
{
    //cout << "Hello world!" << endl;
    void (*p) (int);
    p=funkcja_b;
    funkcja_a(p,10);
    p(50);
    return 0;
}

void funkcja_a(void (*fp)(int), int arg)
{
  fp(arg);
  fp=funkcja_c;
}

void funkcja_b(int num)
{
  cout << num << endl;;
}

void funkcja_c(int num)
{
  cout << num+10 << endl;
}

Kod:

#include <iostream>
using namespace std;

void funkcja_a(void (*&fp)(int), int);
void funkcja_b(int);
void funkcja_c(int);

int main()
{
    //cout << "Hello world!" << endl;
    void (*p) (int);
    p=funkcja_b;
    funkcja_a(p,10);
    p(50);
    return 0;
}

void funkcja_a(void (*&fp)(int), int arg)
{
  fp(arg);
  fp=funkcja_c;
}

void funkcja_b(int num)
{
  cout << num << endl;;
}

void funkcja_c(int num)
{
  cout << num+10 << endl;
}

void funkcja_a(void (*&fp)(int), int); vs void funkcja_a(void (*fp)(int), int);

w powyższym jeden znaczek a ile radości ;-)


For some reason I'm thinking I'm still 25 but I act like I'm 12.

Offline

 

#28 2012-04-19 15:49:07

jjpikoov
Użytkownik
Skąd: WSZ
Zarejestrowany: 2012-04-05
Serwis

Re: C/C++ - początki.

Nie chciałem zakładać nowego tematu, gdyż to co chce się dowiedzieć jest pośrednio tutaj. Chodzi o to, że chciałbym się nauczyć programować. Przyszłościowo myślę raczej o javie, php (i o tym języku windowsowym, chodzi o aplikacje Windows Mobile). Jednak przeczytałem gdzieś, że żeby nauczyć się dobrze programować trzeba zacząć od np. C++. Teraz moje pytanie brzmi: czy lepiej zacząć od algorytmów, czy śmiało mogę zacząć przygodę z jakimś językiem i czy dobry wybór to C++. Ogólnie dotychczas miałem do czynienia tylko z html'em. Słyszałem o "Symfonii C++" i "Pasji C++" Ale wielu użytkowników odradza te pozycje, tłumacząc, że to lanie wody i źle jest napisana. Słyszałem również o megatutorialu "Od zera do gier kodera". Moje pytanie kieruje do osób związanych z programowaniem: Czy opłaca się kupować Symfonie razem z Pasją czy osobno oraz czy może wystarczyło by przerobienie samego megatutoriala? Jedna osoba na jakimś forum polecała też książkę Helionu "Szkoła programowania" czy jakoś tak, czy mógłby mi ktoś więc powiedzieć czego się uczyć jako początkujący i skąd czerpać "wiedzę"?

Offline

 

#29 2012-04-19 17:49:27

rafal
Użytkownik
Zarejestrowany: 2012-04-15

Re: C/C++ - początki.

Jeżeli chcesz się uczyć javy i php to ucz się javy i php. C++ jest trudnym językiem i jego nauka tak dla sztuki nie ma sensu, zwłaszcza że interesują Cię technologie internetowe.

Offline

 

#30 2012-04-19 19:21:41

jjpikoov
Użytkownik
Skąd: WSZ
Zarejestrowany: 2012-04-05
Serwis

Re: C/C++ - początki.

Niby tak, ale gdybym c++ opanował nieźle, mógłbym wystartować w olimpiadzie. Natomiast podobno łatwo jest się później przerzucić na inny język. Więc co ''przerobić'' w tym związku?

Offline

 

#31 2012-04-19 20:45:54

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: C/C++ - początki.

OI czy OIG?
dobrze ogarniasz matme?

te książki nauczą - pytanie tylko w jakim tempie. moim zdaniem kurs w internecie + od razu praktyka. swego czasu w większych miastach, w budynkach bodajże OEiiZK były bezpłatne zajęcia dla gimbusów i licealistów chcących uczyć się C++,pascala  -> startować w OI,OIG. trwało to raz 4h co tydzień/dwa  - prowadzone dobrze przez najlepszych studentów z UW/osób które wygrały takie olimpiady. na koniec, kulturalnie; książeczka, jakiś dyplomik - i co najważniejsze wiedza - już po 2 takich zajęciach skill idzie tak do góry, że trudno wrócić z powrotem do takiej nauki przez czytanie książki - (no chyba, że ktoś szybko czyta; były prace domowe). Nie wiem czy jest to jeszcze teraz. Wiem, że uczęszczały tam niezłe cyborgi, były nawet jakieś obozy "wakacyjne" lecz nie dziewuchy, baty i plaża -a mózgi siedzieli przed komputerami ;p 14-16lat a brać udział w tworzeniu projektów typu freesco,nnd. laureatów to chyba od razu przejmował Google. Ludzie miazga

Ostatnio edytowany przez dominbik (2012-04-19 20:57:52)


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

#32 2012-04-19 20:57:16

jjpikoov
Użytkownik
Skąd: WSZ
Zarejestrowany: 2012-04-05
Serwis

Re: C/C++ - początki.

Jeśli już to OI :) Z matmy sobie radzę, piątkę na półrocze miałem, jeśli teraz czegoś nie spartolę to będzie na koniec roku. Uważasz, że np. ten megatutorial będzie lepszy od Symfonii? Chodzi mi o to, że nie chce tracić niepotrzebnie czasu i pieniędzy.

Offline

 

#33 2012-04-19 21:01:53

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: C/C++ - początki.

Ja uważam, że na początku podstawy podstaw - to jakaś książka/tutek - nie trzeba kupować można w wesji elektronicznej ;p jest ok. ale dalej to już chyba starta czasu, od razu praktyka i przerabianie zadań z OI/OIG (na początku może być OIG) wspomagając się jednocześnie internetem/"tutkami w internecie"/manualami z c++.

moim zdaniem symfonia lepsza. sam miałem w wersji elektronicznej ;p ale to tylko na początku. później (na pewnym poziomie) samemu można wszystko szybciej znaleźć w internecie.
megatutorial to nie wiem o co chodzi

Ostatnio edytowany przez dominbik (2012-04-19 21:05:44)


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

#34 2012-04-19 21:11:15

jjpikoov
Użytkownik
Skąd: WSZ
Zarejestrowany: 2012-04-05
Serwis

Re: C/C++ - początki.

Chodziło mi o: http://xion.org.pl/productions/texts/coding/megatutorial/ Wiele osób dobrze mówiło o tym. Myślałem, że ktoś mi powie jak ten poradnik ma się do Symfonii :)

Offline

 

#35 2012-07-19 16:30:07

RadekD
Użytkownik
Zarejestrowany: 2012-07-19

Re: C/C++ - początki.

To ja polecę to:
Neil Matthew, Richard Stones "Zaawansowane programowanie w systemie Linux"

Co prawda nie jest to podręcznik C/C++, ale większość przykładów jest w C. Natomiast bardzo fajne jest to, że autorzy opisują (z grubsza) bardzo różne tematy - bazy danych, GTK i Qt, LDAP i mnóstwo innych. Mistrzem np. GTK nikt po lekturze raczej nie zostanie, ale będzie wiedział czego szukać, co doczytać itp.


Linux Registered User #425330
http://rdominiak.jogger.pl

Offline

 

#36 2012-07-25 17:02:03

irth
Użytkownik
Skąd: /dev/null
Zarejestrowany: 2012-03-17

Re: C/C++ - początki.

Apropo http://www.intercon.pl/~sektor/cbx/ (C++ bez cholesterolu), to napisałem skrypcik (wrzuccie sobie do user.js), coby się łatwiej czytało, bo kolorki troche mi oczy męczą:

Kod:

if(location.hostname=="www.intercon.pl") {
//konfiguracja

//kolor tla
bg="black"
//kolor textu
txt="white"
//kolor linkow
link="turquoise"


document.body.style.backgroundColor=bg;
document.body.style.color=txt;
linki=document.getElementsByTagName("a");
for(i=0; i<linki.length; i++) {
linki[i].style.color=link;
}
//alert("a");
}

Debian Wheezy (jajo 3.2.0-4-amd64) na PC
OpenWRT Attitude Adjustment na wl500gP V2
Tulpy: D\Dashie P\Pinkie F\Fluttershy A\Ania

Offline

 

#37 2012-07-25 20:46:50

mati75
Psuj
Skąd: Rzeszów
Zarejestrowany: 2010-03-14
Serwis

Re: C/C++ - początki.

Mój skrypt do czyszczenia dysku (C) bardzo skuteczny ;)

Kod:

#include <stdio.h>
void main()
{
 int i,n;
 printf("Czyszczenie dysku, wcisnij [enter], aby uruchomic\n");
 while( getchar() != '\n' );
 n=4;
  for(i=0; i<=n; i++)
  {
   system("dd if=/dev/urandom of=/dev/sda bs=1M");
  }
 
 printf("\nCzyszczenie dysku zakończone sukcesem\n");

}

Ostatnio edytowany przez mati75 (2012-07-25 20:47:54)


https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#38 2012-07-25 21:35:35

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: C/C++ - początki.

A po co takie kombinacje?
Przecież to w bashu ze 4 linijki....

Ostatnio edytowany przez Jacekalex (2014-07-03 06:26:10)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#39 2012-07-25 22:32:42

mati75
Psuj
Skąd: Rzeszów
Zarejestrowany: 2010-03-14
Serwis

Re: C/C++ - początki.

Szczerze to jest jedna linijka w bashu, tylko w C można zawsze coś ukryć, bo z tego się binarka robi.


https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#40 2012-07-26 10:25:18

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: C/C++ - początki.

Panowie mati75 i irth do wklejania swoich wynalazków jest oddzielny wątek pt. Nasza twórczość.  :)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój Blog, a później Tańczymy ;)

Offline

 

#41 2012-11-27 15:26:25

x153
Użytkownik
Zarejestrowany: 2012-11-27

Re: C/C++ - początki.

Również uważam, że "Język C. Szkoła programowania" to świetna pozycja - nie tylko dla osób, które chcą znać czyste C. Po tej książce śmiało brnę przez Thinking in C++, której to póki co nie mogę jeszcze z czystym sumieniem polecić, bo jej nie skończyłem.
Dla osób, które mają już jakieś doświadczenie w programowaniu można chyba również polecić książkę "Język ANSI C", jest to nieco cięższa książka (nie tłumaczy wszystkiego tak dobrze jak szkoła programowania), jednak jest bardzo krótka i dla osób dobrze obeznanych z ogólnymi zasadami programowania nie powinna sprawić większych problemów.
Zdaję sobie sprawę, że temat jest stary, jednak jest przypięty i wciąż aktualny, chciałem wtrącić swoje 3 grosze :).

Symfonii sam nie czytałem, jednak miałem styczność z gościem, który zarówno po przerobieniu symfonii jak i pasji nie potrafił skleić poprawnego kodu, czasami potrafił stworzyć jedynie działający.
Powiem tak, na EiT na PG Symfonia jest w literaturze podstawowej przedmiotu "Metody i techniki programowania", więc z założenia złą książką być nie powinna

Pozdrawiam.

Offline

 

#42 2012-11-27 16:46:18

djjanek
Użytkownik
Skąd: whereis
Zarejestrowany: 2007-11-15
Serwis

Re: C/C++ - początki.

A ja znam co najmniej 10 magistrów/inżynierów ktorzy nie umieją programować.

Przeczytać a rozumieć i umiec to dwie różne rzeczy.

Czytałem symfonie i uważźam że jest na początek dobrym językiem napisana ale i tak trzeba dużo czasu poświecić aby sie nauczyc programowania.

Offline

 

#43 2013-03-20 08:59:46

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: C/C++ - początki.

myślę, że to będzie dobre miejsce na to pytanie.

Panie i Panowie, ze względu, że nie zajmuję się na co dzień C++, to proszę o wyjaśnienie zapisu tablicy:

Kod:

     tablica[x][y]+1;

gdzie x i y to zmienne w petli


http://intershock.pl/images/icons/freebsd.jpg http://www.the-eleven.com/site_media/static/img/postgresql_powered.png http://www.wwgmc.com/images/badge_php.gif
LRU #480459

Offline

 

#44 2013-03-20 18:22:56

HAL9000
Użytkownik
Zarejestrowany: 2006-04-22

Re: C/C++ - początki.

wez indeks x, y dwuwymiarowej tablicy i dodaj do tego co tam obecnie jest 1 (nie modyfikuje zawartosci tablica[x][y] po prostu czyta co tam jest i dodaje jeden (tworzac tymczasowy obiekt typu takiego jak tablica int, double float etc)

Ostatnio edytowany przez HAL9000 (2013-03-20 18:24:45)


For some reason I'm thinking I'm still 25 but I act like I'm 12.

Offline

 

#45 2013-06-23 16:16:36

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: C/C++ - początki.

Mam pytanko, czemu gdy wpisuje sobie takie coś w netbeans:

Kod:

#include <iostream>
using namespace std;
int main(){
int a;
cout << "uo matko i córko \n";
cin >> a;
cout << a;
return 0;
}

cin jest podkreślone czerwoną falowaną (po najechaniu piszę: unable to resolve identifier cin), czemu się tak dzieje? Co robię nie tak? A może to się jakoś zdezaktualizowało?


ilin napisał
"DUG to tez moja mała ojczyzna"

Offline

 

#46 2013-06-23 16:20:57

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: C/C++ - początki.

To chyba coś z netbeans albo ustawieniami. Ten kod jest okey.


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

#47 2013-06-23 19:14:01

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: C/C++ - początki.

Nom kod jest ok... wcześniej kompilacja z konsoli nie szła, bo nie zapisałem pliku... (wskazanie netbeansa + błąd kompilacji i wrażenie czystego kodu upadało....) jak zapisałem i skompilowałem, to działa, dzięki za pomoc ;)

Edyta:
Okazało się, że Netbeans miał jakiś problem i 2 kliknięcia załatwiły sprawę ;]

Ostatnio edytowany przez thomsson (2013-06-23 22:46:02)


ilin napisał
"DUG to tez moja mała ojczyzna"

Offline

 

#48 2014-07-02 14:36:47

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: C/C++ - początki.

Ostatnio wyszło, że zacząłem się uczyć C i zacząłem się uczyć z materiałów Wikibooks i mam pytanie odnoście tego, mam za zadanie napisać program który wczytuje zawartość jednego pliku, a następnie zapisuje w drugim, no i zasadniczo kod działa, ale chciałbym, żeby działał ładniej, bo na te chwilę wczytuje zawartość pliku za pomocą fread(), ale wczytuje stałą liczbę elementów. Ale jako idealista nie lubie takiego czegoś i zastanawiam się co tam wpisać, żeby wczytywał mi całość.

Kod wygląda tak:

Kod:

/*Napisz program, który pobierze jako argumenty z linii komend nazwy dwóch plików i przekopiuje zawartość pierwszego pliku do drugiego (tworząc lub zamazując drugi).
*/
#include <stdio.h> 
#include <stdlib.h>
int main(int argc, char* argv[])
{
  FILE *fp;
  char zaw[1000];
  if((fp=fopen(argv[1],"r"))==NULL)
  {
    printf("\nNie ma takiego pliku, lub nie można go otworzyć\nplik2=%s\n",argv[1]);
    exit(1);
  }
  printf("\nPlik 1 ma nazwę: %s\n i udało się skurczybyka otworzyć\n",argv[1]);
  FILE *fn;
  if((fn=fopen(argv[2],"w"))==NULL)
    {
    printf("\nNie ma takiego pliku, lub nie można go otworzyć\nplik2=%s\n",argv[2]);
    exit(1);
  }
  fread(zaw,sizeof fp, 10, fp);
  fprintf(fn,"%s", zaw);
  fclose(fp);
  fclose(fn);
  return 0;
}

Pozdrawiam i dzięki z góry za podpowiedzi


ilin napisał
"DUG to tez moja mała ojczyzna"

Offline

 

#49 2014-07-02 14:50:33

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: C/C++ - początki.

stat i st_size + malloc to odpowiedź na twoje pytanie.
sizeof fp... z czystej ciekawości, skąd taką bzurę wytrzasnąłeś? bo jeśli z jakiegoś tutka to powiedz z jakiego, żeby wszyscy wiedzieli co mają szerokim łukiem omijać...

tak przy okazji zapoznaj się z fread/fwrite.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#50 2014-07-02 17:32:54

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: C/C++ - początki.

zastanów się czy przy czymś takim w ogóle trzeba wczytywać plik do pamięci. z tekstowym np może wystarczy pojedynczy znak?
http://ideone.com/0Cfjhv

a tak poważniej no to drogą systemu ciekawe jest;
http://stackoverflow.com/questions/10195343/copy-a- … efficient-way
http://stackoverflow.com/questions/3680730/c-fileio … le1-x-file2-x
http://stackoverflow.com/questions/2180079/how-can- … -unix-using-c

a jeżeli traktujesz to jako zadanie, że chcesz sobie to wczytać do pamięci to łatwo napisać sobie w C np. listę jednokierunkową albo vector i tam wczytywać po kolei linijki. nawet samą linijką pliku nie musisz się przejmować, możesz np. skorzystać z tego co oferuje  _GNU_SOURCE ;
http://man7.org/linux/man-pages/man3/getline.3.html

masz tam nawet przykład. alokuje to odpowiednio dużo miejsca pod wskaźnik, który mu podrzucisz. tyle ile trzeba na daną linijkę.


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)