C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Programovacie jazyky, rady, poradňa...
stevo987
Amateur
Amateur
Príspevky: 20
Registrovaný: 17 okt 2020, 14:27

C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa stevo987 »

Ako by som napísal funkciu, ktorá dostane reťazec maximálnej dĺžky 500 a tento
zmodifikuje tak, že každú bodku nahradí $$$ (tromi dolármi) a každú hviezdičku vymaže.
Celé riešenie musí používať jediné pole (reťazec). Predpokladajme, že nový reťazec sa zmestí
do 500 znakov. Jazyk C, neviem si s tymto dať rady vedeli by ste mi pomoct prosím ?
yoggy

Re: Funkcia

Príspevok od používateľa yoggy »

No ved ukaz co uz mas napisane.
stevo987
Amateur
Amateur
Príspevky: 20
Registrovaný: 17 okt 2020, 14:27

Re: Funkcia

Príspevok od používateľa stevo987 »

Nemám zatial nič, neviem ako začať, pošlem sem hned ako niečo budem mať
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Re: Funkcia

Príspevok od používateľa hojko »

Oprav si nazov temy, vid. pravidla fora.
igor91
Light Expert
Light Expert
Príspevky: 40
Registrovaný: 21 máj 2019, 12:43

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa igor91 »

Jednoduche. V prvom rade si sprav nacitavanie vstupu, a takisto osetrenie, nech tam nemas viac ako 500 znakov. Ak dostanes viac ako 500 tak vypises nejaku chybu.

V tvojom pripade by som to asi spravil “naivne”, teda ukladat si vstup do pola. Potom to pole prejdes v cykle a budes hladat konkretny znak.
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa *****HERO***** »

no neviem ci je to tak jednoduche jak sa zda. pise, ze moze pouzit len jedno pole. a ma nahradit jeden prvok viacerymi abo ho zmazat. cize po kazdom zmazani/nahradeni musi vsetky nasledujuce prvky patricne poposuvat...
stevo987
Amateur
Amateur
Príspevky: 20
Registrovaný: 17 okt 2020, 14:27

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa stevo987 »

no veď to a neviem ako by som to urobil
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa *****HERO***** »

zacal by som tym, ze si nakodis tu ulohu zatial tak, ze vzdy nahradzas iba jeden konkretny znak inym konkretnym znakom. potom mozme rozmyslat dalej.
CrazyJerry
Light Star
Light Star
Príspevky: 284
Registrovaný: 12 jún 2014, 18:08

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa CrazyJerry »

tak ono zalezi, ci ti do tej funkcie pride uz pole o velkosti 500 znakov, v ktorom si mozes robit co chces, alebo ti pride pointer a sam si musis alokovat pamat..
Taktiez zalezi, ci to chces robit co najefektivnjsie casovo aj pamatovo..
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa *****HERO***** »

ja by som povedal, ze do funkcie dostane uz pointer na naplnene pole .. a musi sa uz hrat iba s nim, bez ziadnych inych pomocnych poli

asi je ciel si precvicit/pochopit to presuvanie prvkov tam/naspat pri pridavani/mazani prvkov a nie efektivita, resp vseobecne pochopit ako funguju polia
stevo987
Amateur
Amateur
Príspevky: 20
Registrovaný: 17 okt 2020, 14:27

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa stevo987 »

ll
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa *****HERO***** »

budes pracovat priamo s polom, ktore dostanes ako argument. takze kludne moze byt aj void.
stevo987
Amateur
Amateur
Príspevky: 20
Registrovaný: 17 okt 2020, 14:27

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa stevo987 »

takže:

void funkcia(n){

a sem píšem čo teda bude funkcia robiť.

}

ako to mám teda spraviť na jedno pole aby vyhovovalo zadanie ?
CrazyJerry
Light Star
Light Star
Príspevky: 284
Registrovaný: 12 jún 2014, 18:08

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa CrazyJerry »

Takze.. nechcem vyzniet zle.. ale to ma byt tvoja uloha. Nakoneic ty si na tej vyske, ty budes mat titul.. trochu sa potrap. Nemozme tu za teba robit od zaciatku kazde zadanie. Pridu viacrozmerne polia, stromy, djikstra, a podobne srandicky a ked nebudes vediet zaklady, tak si strateny.

Zacal by som ako pisal HERO. Jednoduchy for cyklus, ktory prejde cele pole a nahradi znaky, zatial jeden za jeden.
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa *****HERO***** »

stevo987 napísal: 31 okt 2020, 16:22 ako to mám teda spraviť na jedno pole aby vyhovovalo zadanie ?
nesmies v ramci tej funkcie alokovat nove pole, ale pracovat iba s tym, co si dostal cez argument.

zatial teda staci spravit jeden cyklus, v nom podmienku na porovnanie znakov a v nej nahradenie aktualneho znaku v poli v pripade, ze podmienka sedi. ak nezvladnes ani toto, tak trochu zaostavas vzhladom na to, co sa po tebe chce a asi by si sa mal o par kapitol vratit.

priklady na for loopku - https://www.learn-c.org/en/For_loops
priklady na pristup/zmenu prvkov pola - https://www.tutorialspoint.com/cprogram ... arrays.htm
prikladyuu na porovnanie - https://www.learn-c.org/en/Conditions
igor91
Light Expert
Light Expert
Príspevky: 40
Registrovaný: 21 máj 2019, 12:43

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa igor91 »

*****HERO***** napísal: 31 okt 2020, 12:59 no neviem ci je to tak jednoduche jak sa zda. pise, ze moze pouzit len jedno pole. a ma nahradit jeden prvok viacerymi abo ho zmazat. cize po kazdom zmazani/nahradeni musi vsetky nasledujuce prvky patricne poposuvat...
Zadanie je dost nepresne, ale myslel som, ze to staci vypisat. Tak to prezenies cyklom a nechcene znaky jednoducho skipnes. Ak to bude chciet posuvat vsetky znaky, tak ano je to komplikacia, ale nic hrozne, jeden cyklus navyse.
stevo987
Amateur
Amateur
Príspevky: 20
Registrovaný: 17 okt 2020, 14:27

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa stevo987 »

teraz mi nahradí "." dolárom ale iba jedným ako urobím aby to nahradilo 3 dolármi kedže char vypíše len jeden znak ?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa *****HERO***** »

no pekne aspon nieco.... cize ta prva podmienka ti nahradi bodku za dolar... co ma robit ta druha pod,mienka?
stevo987
Amateur
Amateur
Príspevky: 20
Registrovaný: 17 okt 2020, 14:27

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa stevo987 »

ta druhá ked je * tak ju vymaze.

a ta prva funguje len namiesto jednoho $ maju byt tri $$$ za kazdu bodku.
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: C programovanie: pomoc s funkciou ktora nahradi cast retazca v poli

Príspevok od používateľa *****HERO***** »

ee
Napísať odpoveď