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

Potrebna pomoć u C jeziku

[es] :: C/C++ programiranje :: Potrebna pomoć u C jeziku

[ Pregleda: 4407 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SanelD

Član broj: 37995
Poruke: 32
80.65.78.*



Profil

icon Potrebna pomoć u C jeziku14.03.2005. u 08:43 - pre 231 meseci
Potrebna mi je pomoč u vezi zadatka iz C programskog jezika. Dakle, dobio sam da uradim zadatak u C jeziku, ali mi izgleda zaista komplikovano (programiranje mi nije jaca strana).
Zadatak:
Napisati program u programskom jeziku "C", koji će u bilo kojem "C" programu koji mu se preda kao parametar analizirati upotrebu konstanti.
Analiza podrazumijeva:
- ispis linije na kojoj počinje i na kojoj završava naredba,
- sintaksnu analizu, ukoliko postoji neka greška - linija koda i ispis greške
- program napisati u više funkcija koje su napisane u odvojenim datotekama
- uz program priložiti testni primjer

Pokušavao sam na nekoliko nacina ovo uraditi, ali (pretpostavljate) neuspjesno. Bio bi veoma zahvalan na pomoci.

Unaprijed hvala
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Potrebna pomoć u C jeziku14.03.2005. u 09:04 - pre 231 meseci
Citat:
Bio bi veoma zahvalan na pomoci.
Pošalji nam šta si pokušao da napraviš kako bi se odatle krenulo.

f
 
Odgovor na temu

SanelD

Član broj: 37995
Poruke: 32
80.65.78.*



Profil

icon Re: Potrebna pomoć u C jeziku14.03.2005. u 09:17 - pre 231 meseci
Sve je to na samom pocetku, i ne pomijera se. :(
Ali imam jedan slican zadatak, koji sam uspio naci. Prilično je slican mome zadatku.
To je na papiru, pa ce mmu trebati malo da ga otkucam
 
Odgovor na temu

zvrba
The Lord of Chaos

Član broj: 31716
Poruke: 105
*.ifi.uio.no.



Profil

icon Re: Potrebna pomoć u C jeziku14.03.2005. u 12:29 - pre 231 meseci
Zadatak kao takav je jako nedorecen i _jako_ tezak ako ga se shvati doslovno.

Citat:
SanelD
Napisati program u programskom jeziku "C", koji će u bilo kojem "C" programu koji mu se preda kao parametar analizirati upotrebu konstanti.


Sto je konstanta? Npr.:

Code:

#define a 3.14
const int b = 2.14;

float f(void) {
  return a+b*1.14;
}


Sto je prema zadatku ovdje konstanta? 1.14? a? b? sve troje?

Citat:

- ispis linije na kojoj počinje i na kojoj završava naredba,

Koja naredba? Sto je sa compound naredbama (unutar {})?

Citat:

- sintaksnu analizu, ukoliko postoji neka greška - linija koda i ispis greške

C jezik kakav je, sintaksna analiza nije uvijek moguca bez semanticke analize. Ovaj posao radi kompajler. Kompajler pise TIM od nekoliko profesionalnih programera, nikako pocetnika.

Citat:

Bio bi veoma zahvalan na pomoci.
Unaprijed hvala


Ne mogu ti pomoci jer zadatak nije dovoljno definiran. Tko god da je zadao ovakav zadatak - NESPOSOBAN JE. Bilo kao programer, bilo kao profesor, a mozda i oboje istovremeno.
 
Odgovor na temu

SanelD

Član broj: 37995
Poruke: 32
80.65.78.*



Profil

icon Re: Potrebna pomoć u C jeziku15.03.2005. u 08:17 - pre 231 meseci
Ja sam dobio takav zadatak, pa sam ga i doslovno napisao. Iskreno ovdje mi je malo toga jasno.
Zadatak koji sam dobio kao primjer zapravo i nije ono sto bi meni moglo pomoc.

Citat:
Tko god da je zadao ovakav zadatak - NESPOSOBAN JE. Bilo kao programer, bilo kao profesor, a mozda i oboje istovremeno.


Osoba koja ima oko 70 godina i ujedno je ucila asambler u svoje vrijeme, stvarno bi se mogao s tobom složiti.

Meni bi dobro dosla bilo kakva pomoc.
 
Odgovor na temu

drazen_tb
novi sad

Član broj: 47917
Poruke: 5
*.panline.net.



Profil

icon Re: Potrebna pomoć u C jeziku15.03.2005. u 14:37 - pre 231 meseci
pazi ovako, #define int a; ti je samo makro,tj. gdje god naidje u kodu c umjesto a vrijednost koju si ti definisao po tipu i po vrijednosti dakle ideja rijesenja slijedi:
taj kod koji ti je proslijedjen kao parametar posmatraj kao jednu datoteku.
Citas red po red, postavis odredjene brojace kako bi znao u kom redu se nalazis.
Poredis slova sve dok ne otkrijes gdje se nalazi <#define blabla ili const a vrijednost> dakle nasao si gdje su defiinisani. Sledece sto treba da pamtis jeste promjenjliva koja se nalazi kao argument ovim makroima i dalje u tekstu da tragas za njima i naravno da ispisujes pronadjene rezultate!
PS: nadam se da je ovo bilo od pomoci, a ako nije javi se da ti napisem kod kada budem imao vremena!
 
Odgovor na temu

SanelD

Član broj: 37995
Poruke: 32
80.65.78.*



Profil

icon Re: Potrebna pomoć u C jeziku16.03.2005. u 09:29 - pre 231 meseci
Citat:
PS: nadam se da je ovo bilo od pomoci, a ako nije javi se da ti napisem kod kada budem imao vremena!


Naravno da je od pomoci
Usput, uradio sam nesto i kod profesora je proslo mada i sam znam da neradi kako treba ali sta je tu je. :)

Hvala svima koji su mi pomogli
 
Odgovor na temu

zvrba
The Lord of Chaos

Član broj: 31716
Poruke: 105
*.ifi.uio.no.



Profil

icon Re: Potrebna pomoć u C jeziku16.03.2005. u 11:52 - pre 231 meseci
Citat:
drazen_tb:
Citas red po red, postavis odredjene brojace kako bi znao u kom redu se nalazis.

Ne mozes citati red po red jer je dozvoljeno spajanje redova sa \, npr:
Code:

#define ABCD -12
int x=12*AB\
CD;


Citat:

Sledece sto treba da pamtis jeste promjenjliva koja se nalazi kao argument ovim makroima i dalje u tekstu da tragas za njima i naravno da ispisujes pronadjene rezultate!

Ne radi ni ovo, npr. sljedeci primjer:
Code:

int f1(int a)
{
  const int x = 14;
  return x*a;
}

int f2(int a)
{
  int x = a+a;
  return x*x;
}

U funkciji f2 x vise nije konstanta koja ima vrijednost 14 nego obicna varijabla.

Kao sto rekoh, za ispravno rjesenje treba potpuna sintaksna i semanticka analiza - a to radi iskljucivo kompajler.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: Potrebna pomoć u C jeziku16.03.2005. u 16:02 - pre 231 meseci
Ja nisam od onih koji ce na ucitelja, nastavnika, profesora (sta god) da baca drvlje i kamenje cim mu nesto u zivotu zapne. Cilj postojanja tih ljudi nije da te nauci svemu sto bi ti trebalo da znas, vec da te uputi i da ti kaze odakle sta, i kada, treba da naucis. Ako ti sam ne sednes i naucis to sto ti je ta osoba rekla, onda si sam kriv sto nesto ne znas.
Misljenja sam da nastavnici NE MORAJU uslovno biti dobro programeri da bi od djaka napravili programere. - Glavno, MNOGO vaznije je da oni budu dobri pedagozi.
Smeo bih da dam desnu ruku da je originalna postavka zadatka drugacija od Sanelove interpretacije (procitati na pocetku ove diskusije). Cak i da nije, jasno je iz aviona sta taj program treba da radi, i kako da radi, kao i kako treba da se realizuje (u vise modula).
S obzirom da znam kakvo je skolstvo, i s obzirom da sam i ja nekada bio djak i da znam kako je djacima MNOGO lakse kriviti ucitenje/nastavnike/profesore, siguran sam da je to i ovde slucaj - jedan lenji djak dolazi po N+prvi put na ES da mu se resi zadatak koji bi on da je bio malo pazljiviji i malo samo vise radio, znao i mogao i da razume i da ga resi.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

drazen_tb
novi sad

Član broj: 47917
Poruke: 5
*.panline.net.



Profil

icon Re: Potrebna pomoć u C jeziku16.03.2005. u 19:26 - pre 231 meseci
zvrba
------------------------------------------------------------------------------
Code:

int f1(int a)
{
const int x = 14;
return x*a;
}

int f2(int a)
{
int x = a+a;
return x*x;
}


U funkciji f2 x vise nije konstanta koja ima vrijednost 14 nego obicna varijabla.
------------------------------------------------------------------------------

GLUPOST!!!!

Pa valjda tolko znas da ti C nece dozvoliti da dva puta definises istu stvar razlicitim tipovima u istom programu!!!
Problem je bio da se ispise linija koda gdje pocinje i zavrsava sto znaci spajanje redova ne pije vode, moze da ispise sve!!!
I ko to koristi spajanje redova ????
 
Odgovor na temu

igac
Banjaluka

Član broj: 415
Poruke: 562
*.dip.urc.bl.ac.yu.



+2 Profil

icon Re: Potrebna pomoć u C jeziku16.03.2005. u 22:28 - pre 231 meseci
x je var. u 2 razlicite fja samim tim to su dve POTPUNO razlicite varijable... a ko ne koristi \ za spajanje redova? (pogotovo kod #definea... jest da je ranije bilo problema kada kompajler naidje na to ali koliko sam primjetio nema ih vise, sve radi kao sat...)
"nice town, i'll take it..."
 
Odgovor na temu

drazen_tb
novi sad

Član broj: 47917
Poruke: 5
*.ftn.ns.ac.yu.



Profil

icon Re: Potrebna pomoć u C jeziku18.03.2005. u 08:30 - pre 231 meseci
a joj
kao sto rekoh const je makro sto znaci normalni ljudi ih koriste i definisu u samom zaglavlju programa, tj koriste globalne promjenjljive kako tokom citavog programa nebi morali pisati recimo 3.1415... vec samo napise x. taj x se definise samo jednom i poslije ga nemozes mijenjati, nece dozvoliti!
 
Odgovor na temu

zvrba
The Lord of Chaos

Član broj: 31716
Poruke: 105
*.ifi.uio.no.



Profil

icon Re: Potrebna pomoć u C jeziku18.03.2005. u 10:05 - pre 231 meseci
Citat:
drazen_tb: a joj
kao sto rekoh const je makro sto znaci normalni ljudi ih koriste i definisu u samom zaglavlju programa, tj koriste globalne promjenjljive kako tokom citavog programa nebi morali pisati recimo 3.1415... vec samo napise x. taj x se definise samo jednom i poslije ga nemozes mijenjati, nece dozvoliti!


const NIJE makro. const je varijabla sa alociranim prostorom (dakle, ima adresu) i moze imati bilo eksternal bilo internal linkage. ako ima internal linkage, tada u svakom source fajlu mozes imati varijablu istog imena razlicitih vrijednosti i tipova.

makro zamjenjuje pretprocesor prije nego sto uopce dodje do kompajlera i ako kazes nesto tipa
Code:

#define A 3.14

kompajler NEMA POJMA da u programu postoji "globalna varijabla" imena A. stovise, moguce mu je i promijeniti vrijednost na prljavi nacin (jednostavno novi #define; pretprocesor ce samo dati warning) ili prvo napraviti
Code:

#undef A
#define A 26

To je nesto sto ne mozes napraviti sa const.

Nesto sto ne mozes napraviti sa makroom a mozes sa konstantom je npr. uzimanje adrese:
Code:

f(&A)

nece raditi jer A nema alociran prostor nego je obicna konstanta (kako god da je f definiran).

A tvoj pojam "normalnih ljudi" je izgleda bitno ogranicen tvojim znanjem C-a.
 
Odgovor na temu

neo01
BG

Član broj: 28764
Poruke: 564
*.117.eunet.yu.



Profil

icon Re: Potrebna pomoć u C jeziku25.03.2005. u 18:11 - pre 231 meseci
Citat:
Napisati program u programskom jeziku "C", koji će u bilo kojem "C" programu koji mu se preda kao parametar analizirati upotrebu konstanti.

Analiza podrazumijeva:

- ispis linije na kojoj počinje i na kojoj završava naredba,
- sintaksnu analizu, ukoliko postoji neka greška - linija koda i ispis greške
- program napisati u više funkcija koje su napisane u odvojenim datotekama
- uz program priložiti testni primjer


Vecu glupost od zadatka nisam video. Koliko sam razumeo, on hoce:

Da ti napises jedan C program koji ce kao parametar imati drugi C program (sto bi sigurno znacilo da se predaje source code, a ne kompajlirani C)

Analiza mu je totalno konfuzna i nejasna i zahteva dodatna pitanja:

Citat:
- ispis linije na kojoj počinje i na kojoj završava naredba,


Sta on pod ovim podrazumeva? Da ti napravis program koji ce da trazi i identifikuje naredbe i potom ispise lokaciju istih, gde ih je nasao, i njenu punu sadrzinu?!

Citat:
- sintaksnu analizu


Kakve su ovo nebuloze???! Zar ovo vec ne radi sam kompajler?

Citat:
- program napisati u više funkcija koje su napisane u odvojenim datotekama


Ovo je jasnije.

Citat:
- uz program priložiti testni primjer


Ok, ali neka on prvo objasni sta podrazumeva pod prvim i drugim delom te analize???
Welcome to the real (binary) world, neo(01)...
 
Odgovor na temu

SanelD

Član broj: 37995
Poruke: 32
80.65.78.*



Profil

icon Re: Potrebna pomoć u C jeziku26.03.2005. u 08:46 - pre 231 meseci
U potpunosti se slažem s tobom neo01. Zadatak ne da je nejasan nego je blago rečeno glup.
Zato sam se i ja napravio glup, i napravi jos gluplji program koji je samo prividno radio, sve u svemu, prosao je kod prof. sto je i najvažnije.

P.S. Hvala bogu pa ga nije kompajlirao
 
Odgovor na temu

[es] :: C/C++ programiranje :: Potrebna pomoć u C jeziku

[ Pregleda: 4407 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

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