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

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

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

co ee ?
*****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***** »

ta prva je vpohode to sme chceli na zaciatok. to druhe cudo zmaz.

teraz skus napisat druhu funkciu PosunPrvkyPola. Navratovy typ void, prvy parameter pole bajtov, druhy parameter integer "prvokOd", treti integer "posun".

prvokOd - index prvku od ktorehu sa zvysne prvky posunu
posun - pocet pozicii o kolko sa prvky posunu, moze byt minus.

Funkcia bude mat zase jeden cyklus, kt pri posun>0 pojde od posledneho prvku do prvokOd a postupne ich bude posuvat o posun doprava. Ak <0 tak naopak pojde od prvokOd do konca a posuvat o minusovy posun cize dolava.

Treba si dat pozor ze v isty cas moze pole vyzadovqt viac ako 500 prvkov, naprv ked bude prva operacia zvacsenie o 3. Cize asi nejaka rezerva treba ale to by malo byt v zadani

Potom ked budes tu funkciu mat napis.

Ked budes v stringu nahradzat bodku za 3 dolare, funkciu zavolas ako PosunPrvkyPola(n,i,2). Ked budes mazat, zavolas (n,i,-1)
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 »

To je dobrý napad lenže to musím spravit v ramci tej funkcii nie zavolať dalšiu
preto je to problém

to druhé som vyriešil potrebujem len poradit ako vypisat tie 3 doláre
lebo ten char dokaže vypisat iba jeden $ neviem ako aby vypisal $$$
*****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***** »

nevidim v tom problem si napisat dalsou vlastnu funkciu a zavolat ju. ved to je len semantika, kludne tam ten druhy cyklus mozes pastnut rovno. asi tym mysleli aby si nevolal tie str* funkcie, lebo tymi by to slo spravit jednoducho.

proste potrwbujes na to 2 cykly
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 »

to srt* mozem pouzit

mam dovolenu kniznicu <string.h>
*****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***** »

aha, tak potom by to teoreticky mohlo ist cez strcpy

nieco v zmysle strcpy(n+i, n+i+2). tym ten string posunies o 2 pozicie a tym padom si vytvoris miesto na tie 3 dolare, co budu na poziciach n+i,n+i+1,n+i+2 . rovnako aj pri mazani znaku spravis zase strcpy(n+i,n+i-1). neviem ale nakolko je ta funkcia imunna voci tomu, aby si neprepisovala ten string pod nohami
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 »

neskopiruje to ako nove pole to strcpy ?
*****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, pole je stale len jedno. do tej funkcie len posuvas rozne ukazovatele na prvky toho pola
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 »

ako to mam teda zapisat v tom kode lebo neviem, ako to myslis kde to tam dat, do toho if ?

Autoeditácia príspevku po 2 min 38 sek:

Kód: Vybrať všetko

if(n[i] == '.'){
            n[i] = '$$$';
 a sem to strcpy ??

        }

[\code]
*****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***** »

priklad napr takto

Kód: Vybrať všetko

#include <stdio.h>
#include <string.h>

int main()
{
    char snura[500];

    strcpy(snura, "spotenegule.sk123456");
    strcpy(snura+12+2, snura+12);

    snura[11] = '$';
    snura[12] = '$';
    snura[13] = '$';
    
    printf(snura); //vypise spotenegule$$$sk123456
 
    return 0;
}
este musis vymyslet, ako to zakomponovat do tvojho kodu
Napísať odpoveď