ah ti pointeri
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.

Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Linuxo Forumi

Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: ah ti pointeri  (Pročitano 1401 puta)
0 članova i 1 posetilac pregledaju ovu temu.
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 343



« poslato: 21 Август 2004, 14:12:54 »

pointeri . . . . eh da
daklen prica ide 'vako. Naostrio sam se za C i
krenuo sa citanjem tutorijala i prost zadatak
ali neumem s pointerima nikako , treba da ucitam niz
od n clanova u memoriju i da ih ispisem, sve preko pointera

#include <stdio.h>

int main()
{
  int i, n;
  int niz[20], *array;

  printf("unesi n: ");
  scanf("%d",&n);
  printf("\n");

  array = &niz[0];
  array = (int *) malloc(n*sizeof(int));
  for (i=0;i<n;i++)
    {
      printf("array[%d] = ",i);
      scanf("%d",array++); //ove moze umesto array+ da &niz sto radi
      // ali ocu preko array tj preko pointera
    }
  printf("\n--niz---------\n");
  for (i=0;i<n;i++)
    printf("niz[%d] = %d\n",i,niz);

  printf("\n--array---------\n");
  for (i=0;i<n;i++)
     printf("array[%d] = %d\n",i,*array++);
  printf("\nkraj\n");

return 0;
}


Pitanje : kako to preko ppintera? ima li neki poinetr easy tutorial?
i ima li neko neki primer s pointerima na foru fja i nizova?
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
Loading
Administrator
Full Member
***
Van mreže Van mreže

Pol: Muškarac
Poruke: 206



« Odgovor #1 poslato: 21 Август 2004, 22:51:05 »

Eh da mogu da ti posaljem beleske sa predavanja, skapirao bi sa pola snage...  Nadji negde knjigu od Lasla Krausa -- Programski Jezici i Metode Programiranja. To je ono sto mi koristimo na ETF-u. I mogu ti reci da je dovoljno
Prijavi uredniku   Sačuvana
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 343



« Odgovor #2 poslato: 22 Август 2004, 16:12:17 »

ej resio sam, pazi sad vamo

#include <stdio.h>
int main()
{
  int i,*array;
  printf("Unesi elemente\n");
  array = (int*) malloc(4*sizeof(int));
  for (i=0;i<4;i++)
       scanf("%d",(array+i));
  printf("\nispis\n\n");
  for (i=0;i<4;i++)
    printf("%d\n",*(array+i));
}

ok resio sam onaj problem od prosli put ali
sad imam novi sa stringom ( i pointerima )
a glasi 'vako
odredi n, broj koliko se puta rec "the" pojavljuje
u stringu "the cat sat on the mat", ima tu
nesto mog koda ali ne bih da se ljudi previse
zabavljaju(smeju).
valjda se trazi da sam izmislis neku fju, mada
vec postoje neke strcmp,i strncmp, ali ne radi
bas kako sam zamislio
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #3 poslato: 13 Новембар 2004, 02:06:56 »

Sa strstr se može to odraditi odlično. Ti sugurno (kao ni ja) nećeš napisati bolju i optimizovaniju funkciju od već psotojeće.
Ako ne bude išlo, javi se za instrukcije...
Prijavi uredniku   Sačuvana
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 343



« Odgovor #4 poslato: 13 Новембар 2004, 12:08:19 »

znas ja bih teo nesto sam da napisem
recimo neki program kao totalcmd ali za linux
stim sto sam ja beginer u linuxu i neznam
nista u onom kdevelopu iqt3 aj sad kako onda na
napisem nesto.
pisao sam pod DOSom moje neke programcice digitron u paskalu
recnik u C, pa recnik za linux, pa neki programcic za kevu
ali to je davno bilo , sad nemam toliko vremena znas student pa mora da se bude u skoli, ali kad zgrabim priliku ja nest procitam i
probam da napisem.
pa
imas li/znas li nekog ko ima neki primer za koriscenje kdevelop i qt3 zajedno , ono odjednom da probam nesto
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #5 poslato: 13 Новембар 2004, 12:47:11 »

Ovde na forumima u sekciji Programiranje imaš par tema gde je objašnjeno kako da podesiš qt3 da radi sa KDevelopom.

Najbitnije je podesiti QTDIR varijablu ali to je sve objašnjeno tamo.

Probaj, pa ako ne ide, javi se opet  Cheesy
Prijavi uredniku   Sačuvana
Li-nux
Full Member
***
Van mreže Van mreže

Poruke: 245



« Odgovor #6 poslato: 13 Новембар 2004, 15:15:52 »

Pokreni "Qt Designer" i klikni na Help -> Contents. Tu imas sve sto je potrebno da znas u radu sa Qt-om.
Posto je Qt objektno orjentisan onda prvo moras nauciti objektno programiranje u C++, pa se onda mozes baciti na programiranje u Qt-u.
Sto se Kdevelop-a tice on je napravljen kao integrisano razvojno okruzenje (IDE) za KDE. Posto KDE lib u svojoj objektnoj osnovi koristi Qt, onda ti programiranje za KDE ostaje kao poslednja prepreka koju moras savladati da bi mogao da pravis programe tipa "Total Commander" & co. za Linux.
Na sajtu http://www.kde-apps.org mozes naci mnogo korisnih programa za KDE, izmedju ostalog i "Krusader" koji jako podseca na "Total Commander" u Windows-u.
I jos nesto. Nemoras sam praviti program od nule, vec se mozes prikljuciti nekom vec postojecem projektu i svojim radom doprineti njegovom usavrsavanju. To je sustina open source-a.
Prijavi uredniku   Sačuvana

Ko se boji konzole jos ?
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #7 poslato: 13 Новембар 2004, 15:33:18 »

Da. Zadatak koji si sebi postavio je malo prevelik zalogaj za početnika.

Kao što ti je već preporučeno, stvarno treba da savladaš odlično C i C++ i to do te mere da ti pointeri, dinamičko alociranje/dealociranje memorije, nizovi, povezane liste i klase ne predstavljaju nikakav problem.

E onda si speman da radiš tako krupne projekte.

Inače, takav TotalCommander tipa program će ti možda oduzeti i par meseci (uz adekvatno  planiranje i dokumentovanje) da ga napraviš i teško da će imati i 10% implementiranih opcija koje ima TC.

Ne bih da te ovim sputam... dobro je to što hoćeš da radiš tako nešto ali pre nego što kreneš, budi siguran da znaš koliko to zahteva vremena i rada.

SREĆNO!  Cheesy
Prijavi uredniku   Sačuvana
Markominus
Full Member
***
Van mreže Van mreže

Poruke: 164


« Odgovor #8 poslato: 13 Новембар 2004, 17:06:32 »

Sto se tice programa tipa Total Cmd ne bi da obeshrabrujem ljude ali moram pomenuti da se zbog postojanja visih programskih jezika nikako ne pokusavaju takve stvari u C-u.
C je odlican za rad na nivou bliskom masini, za rad sa hardverom (mikrokontroleri, procesori i sl.).
Naravno moguce je i sve aplikacije viseg reda pisati u C-u, ali to nema potrebe da se radi kada postoje C++, JAVA i slicni programski jezici koji zaista mnogo olaksavaju posao.
Mislim da ne pricam koliko je C++ napredniji od C-a i koliko vam stedi vremena (klase, reference, dinamicki rad s memorijom itd.)

Sto se tice pitanja oko stringa, C string pamti kao niz char-ova sa terminatorom \0 na kraju.
Dakle najjednostavnije ti je da uradis pretragu znak po znak (naravno u slucaju da string nije .txt fajl ili nesto od 20 redova).
Kreces se kroz string kao kroz niz (indeksima ili preko pointera) i poredis trenutni znak sa ASCII kodom slova t, pa ako si nasao slovo t onda gledas da li je sledece h, pa onda da li je sledece e i ostaje da proveris da li su razmaci oko reci the (da se ne bi desilo da ti broji reci kao breathe ili theme). Trebaju ti nekoliko promenljivih i jedna for petlja i to je to.
Ceo proces se zavrsava kad naidjes na terminator \0 koji oznacava kraj stringa.
To ti je najjednostavnije.

Pozdrav.
Prijavi uredniku   Sačuvana
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #9 poslato: 13 Новембар 2004, 17:52:04 »

Što se pretrage stringa tiče, ova preporuka je solidna za vežbu. Za praktičan rad bih ti ipak preporučio da koristiš ugrađene funkcije kao što je

Kod:
strstr


jer je ona odrađena već da bolje ne može i urađena je u asembleru te će svakako biti brža od bilo koje koju ti uradiš. To je bitno naročito ako uzastopno pretražuješ veliki broj stringova.

 wink
Prijavi uredniku   Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na: