Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc pocetniku nejasno !!!

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc pocetniku nejasno !!!

Strane: 1 2

[ Pregleda: 4581 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BIG FOOT

Član broj: 2964
Poruke: 449
*.ptt.yu.



Profil

icon pomoc pocetniku nejasno !!!27.07.2005. u 11:43 - pre 184 meseci
Zasto ovo ne ispisuje 1?
Kako da shavtim odnos izmedju pokazivaca i funkcija?

Code:

#include <stdio.h>

main()
{
    void ubaci();
    int a[100],c[100],i;
    a[1]=1;
    ubaci(a,c);
    i=0;
    printf("%d",c[1]);
}


void ubaci(int a[],int c[])
{
    c=a;
}

 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1931
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+473 Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 12:36 - pre 184 meseci
Mislim da ne možeš tako kopirati niz.

Code:
#include <stdio.h>

main()
{
    void ubaci();
    int a[100],c[100],i;
    a[1]=1;
    ubaci(a, c);
    i=0;
    printf("%d",c[]);
    system("PAUSE");
}


void ubaci(int a[],int c[])
{
    memcpy(c,a,sizeof(int)*101);
}
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.w82-124.abo.wanadoo.fr.



Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 12:42 - pre 184 meseci
Code:

#include <stdio.h>

main()
{
    void ubaci();
    int a[100],c[100],i;
    a[1]=1;
    ubaci(a,c);
    i=0;
    printf("%d",c[1]);
}


void ubaci(int a[],int c[])
{
    c[1]=a[1];  // OVDE TI JE BILA GRESKA!!!
}


Evo ti jedan zadatcic, kada ga budes uradio, shvatices pointere...


Code:

#include <stdio.h>

void func(...)
{
  ....
}

int main(int argc, char ** argv)
{
int i;

i = 0;

func(i);

printf("%d\n", i);

return(0);
}


Tamo gde imas tri tackice treba nesto da napises, a naravno program treba da izpise 1.
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1931
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+473 Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 12:45 - pre 184 meseci
Covek je hteo da kopira ceo niz, a ne samo jedan element niza.

PS: Nizovi se uvek prosleđuju kao pokazivači. Zato onaj kod radi isto što i:

Code:
#include <stdio.h>

main()
{
    void ubaci();
    int a[100],c[100],i;
    a[1]=1;
    ubaci(&a, &c);
    i=0;
    printf("%d",c[1]);

}


void ubaci(int *a[],int *c[])
{
    memcpy(c, a, sizeof(int) * 101);
}



[Ovu poruku je menjao Burgos dana 27.07.2005. u 13:52 GMT+1]
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.w82-124.abo.wanadoo.fr.



Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 13:01 - pre 184 meseci
Ispitajmo izbliza program

Code:

   void ubaci();
    int a[100],c[100],i;


Deklaracija promenjivih, nista posebno za sada...

Code:

a[1]=1;


Primetices da je samo prvom elementu dao neku vrednost...

Code:

ubaci(a,c);


Naravno ubacuje ono sto ima u a u c, aj sad ti meni reci zasto bih ja znao da je hteo da "kopira"
ceo niz a ne samo jedan element...

I sta ce mu "i";

I on hoce da shvati pointere, memcpy, mu tu nece pomoci...

A ako hoce da kopira ceo niz treba samo da mu ubaci izgleda ovako

Code:

{
  int i;
  
  for(i = 0; i < 100; i++)
    c[i] = a[i];
}


Jos jedna stvar, Burgos, kao sto je covek rekao, pocetnik je, i smatram da je uvek bolje i zanimljivije
pisati svoje funkcije nego koristiti vec postojece, ne slazes li se sa mnom?


[Ovu poruku je menjao rumpl dana 27.07.2005. u 14:02 GMT+1]
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1931
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+473 Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 14:17 - pre 184 meseci
Citat:
Primetices da je samo prvom elementu dao neku vrednost...


Verovatno da bi ispitao da li je niz kopiran.

Citat:
Naravno ubacuje ono sto ima u a u c, aj sad ti meni reci zasto bih ja znao da je hteo da "kopira"
ceo niz a ne samo jedan element...


Izvini, ja se nisam dobro izrazio. Hteo sam reci "Mislim da je covek hteo da kopira..."

Citat:
Jos jedna stvar, Burgos, kao sto je covek rekao, pocetnik je, i smatram da je uvek bolje i zanimljivije
pisati svoje funkcije nego koristiti vec postojece, ne slazes li se sa mnom?


Naravno.
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.w82-124.abo.wanadoo.fr.



Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 15:10 - pre 184 meseci
Pa dobro raspricasmo se Burgos i ja a BIG FOOT nista...

Reci jel ti je ista od ovoga sto smo napisali pomoglo???

Ili treba jos objasnjenja..
Naravno, uradili smo ti tvoj programcic, mada ne verujem da ti je to mnogo pomoglo
oko razumevanja pointera...

Drago mi je da se slazemo Burgos



"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4876
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+628 Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 15:18 - pre 184 meseci
Prikazani kod, (pa makar on bio samo fragment) nije dobar koncepcijski...
Zato Vas dvojica sada i polemišete ;)

Mislim da je najbolje pitati BIG FOOT-a šta je zapravo hteo da postigne. Mislim da
nije edukativno popravljati neki kod kad koncepcijski nije OK.

Koliko sam video, postoji problem u razumevanju prenošenja parametara funkcijama,
zatim u pretpostavci kako se niz kopira (i možda čak i od kog broja počinju indexi u C/C++)





 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.w82-124.abo.wanadoo.fr.



Profil

icon Re: pomoc pocetniku nejasno !!!27.07.2005. u 15:28 - pre 184 meseci
Vidis X Files, nisam ni primetio da je napisao a[1] = 1...
stupid me...

Ja sam mu dao jedan zadatak koji, smatram, je odlican za razumevanje pointera...
Meni je pomogao...



[Ovu poruku je menjao rumpl dana 27.07.2005. u 16:28 GMT+1]
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

BIG FOOT

Član broj: 2964
Poruke: 449
*.yu
Via: [es] mailing liste



Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 15:58 - pre 184 meseci
Pitanje #2:

Imam niz stringova
Code:

char ime[20][50]    /* ili postoji neki bolji nacin?*/


Kako da napravim proceduru za razmenu 2 stringa?
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1931
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+473 Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 16:15 - pre 184 meseci
EDIT: Oprosti nisam shvatio

Zasto ne koristis string klasu?

Nego nije mi jasno sta zelis da napravis? Mozes li biti malo konkretniji?

[Ovu poruku je menjao Burgos dana 28.07.2005. u 17:19 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4876
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+628 Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 16:24 - pre 184 meseci
Pravilo:
Svako novo pitanje treba postaviti u NOVI thread!!! Moderatori, gde ste?

Citat:

CENZURISANO ;)
Zbog: Ovu poruku je menjao Burgos dana 28.07.2005. u 17:19 GMT+1

Sta ti bi druze? ;) Mora da si se tek probudio...

Izraz:
Code:

char ime[20][50]

jeste niz od 20 stringova pri cemu svaki string ima maximalo 50 elemenata...

&ime[0] // pocetak prvog stringa
&ime[1] // pocetak drugog stringa
&ime[2] // pocetak treceg stringa
// ...itd

Sto se tice kopiranja ili razmene, strcpy() ce savrseno raditi... napravi jedan pomocni string:
char tmp[50]
a sve ostalo radi kako kod obicne razmene promenljivih, samo sa strcpy ili strncpy.

[Ovu poruku je menjao X Files dana 28.07.2005. u 17:26 GMT+1]

[Ovu poruku je menjao X Files dana 28.07.2005. u 17:28 GMT+1]
 
Odgovor na temu

BIG FOOT

Član broj: 2964
Poruke: 449
*.yu
Via: [es] mailing liste



Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 16:32 - pre 184 meseci
Za #1:

PTT mi nije dao net 2 dana :( pa nisam mogao da pogledam vase odgovore. U
svakom slucaju hvala. Ja migriram sa p.a.s.c.a.l.-a pa mi je malo problem da
pretpostavim sta moze, a sta ne.

@ rumpl:
Probacu da resim zadatak.

Poz,
BF
 
Odgovor na temu

BIG FOOT

Član broj: 2964
Poruke: 449
*.yu
Via: [es] mailing liste



Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 16:38 - pre 184 meseci
Hvala za #2!

A zasto nisam u novu temu?
Ja sam ocekivao ponovno pojavljivanje pokazivaca.
Izvinjvam se sto nisam prvo pogledao sve funkcije za operisanje sa
stringovima :(
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4876
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+628 Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 16:59 - pre 184 meseci
Postoji nekoliko prostih ali pozeljnih pravila kada se neko obraca za pomoc na
forumima. Pogotovo na stranim (npr Borlandovim), gde bi te 100% upozorili na
2 stvari:

Pitanje bi trebalo da bude sto deskriptivnije, na primer:
"Potrebna pomoc za operacije sa pointerima", ili čak
"Početniku u C/C++ potrebna pomoc za operacije sa pointerima"
(ovo drugo je poltronsko ali pali, da slomi tvrdokorna srca ;)

a ne samo "pomoc pocetniku nejasno !!!"
Pitanje bi u principu trebalo da barem minimalno uputi na tematiku.

Dalje, SVAKO novo pitanje (koje je nezavisna celina) treba da ide u novi
thread. Ovo je jednostavno pravilo. Problematika pointera je tolika da bi mogao
ovaj thread da se rasteze godinama...

Naravno, nemoj ovo niposto shvatiti kao kritiku; i mene su 100 puta do sada
ispravljali, pogotovo na Borlandovim forumima dok me nisu 'oblikovali' ;)



P.S. Ako dolazis sa Pascala obrati paznju da kod C/C++ indexi počinju od NULE,
a ne od jedinice!!! Ovo sam primetio u tvom primeru...
 
Odgovor na temu

BIG FOOT

Član broj: 2964
Poruke: 449
*.yu
Via: [es] mailing liste



Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 17:47 - pre 184 meseci
Citat:

> (i možda čak i od kog
> broja počinju indexi u C/C++)


ovo je bilo nisko ;) Nego sta je x/ ?

@ rumpl
U zaglavlje treba da stavim ** pokazivac ?
A u telo neki kast?
To mi zvuci logicno, ali tu prestaje logika :(

Molim te da mi sto pre napises resenje!
Ili neko drugi ako zna?
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-65-34.noos.fr.



Profil

icon Re: pomoc pocetniku nejasno !!!28.07.2005. u 18:02 - pre 184 meseci
Pazi BIG FOOT, necu da ti uradim zadatak, tako nisata neces postici...
Vi ostali nemojte da mu uradite zadatak ako znate, ne vredi nicemu...

Evo ti nekoliko uputstava, ali stvarno ne bih trebalo...

1. Da li znas kako da posaljes funkciji adresu neke promenljive?
2. Da li znas kako da kreiras pokazivac na tu adresu?

Naravno, predpostavljam da ne znas, ali malo se preznojavaj :)

Evo poslednje uputstvo: poziv funkcije treba da bude drugaciji...

Ajd pa srecno.
Stvarno pokusaj jos malo, pa ako stvarno ne mozes, poslacu ti odgovor...

PS: ako vec nisam rekao funkcija ima samo jednu liniju...

[Ovu poruku je menjao rumpl dana 28.07.2005. u 19:04 GMT+1]
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

BIG FOOT

Član broj: 2964
Poruke: 449
*.yu
Via: [es] mailing liste



Profil

icon Re: pomoc pocetniku nejasno !!!29.07.2005. u 10:12 - pre 184 meseci
Ajde da razjasnimo :) Da li su mi odgovori tacni?

1. Da li znas kako da posaljes funkciji adresu neke promenljive?
Code:

    funkcija (&i)   /*   sada je funkciji prensena adresa */


2. Da li znas kako da kreiras pokazivac na tu adresu?
Code:

    void funkcija (int *x)      
Code:


Ali tvoj zadatak sadrzi:
Code:

    func(i)                 


Ako su mi ova 2 odgovora tacna, napisi mi resenje za taj tvoj zadatak :0

 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1931
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+473 Profil

icon Re: pomoc pocetniku nejasno !!!29.07.2005. u 11:21 - pre 184 meseci
Tacna su oba odgovora.

Sada, ne znam da li sam u pravu, ali:

Citat:
pokazivac na tu adresu


Zar pokazivac ne pokazuje na promenljivu, a sadrzi adresu u sebi?
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-65-34.noos.fr.



Profil

icon Re: pomoc pocetniku nejasno !!!29.07.2005. u 12:16 - pre 184 meseci
Tacno Burgos.

A zar se ne bi bolje osecao da ga sam uradis...

Oba odgovora su ti tacna, ubaci ih u kod.
Code:

func(i);

je glupost, stavi ono sto si ti napisao.

fali ti jos samo telo funkcije, jedna linija.

Vidim da kod tebe uspeva sistem pitanja/odgovori, pa evo ti jos jedno pitanje.

Da li znas kako sad da utices na tu promenjivu na koju pokazuje pointer?

Srecno

Izvini ali stvarno m je bedak da ga sam ne uradis...
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc pocetniku nejasno !!!

Strane: 1 2

[ Pregleda: 4581 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.