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

[Zadatak] Reversestring (obrnuti string)

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Reversestring (obrnuti string)

[ Pregleda: 2679 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tosheen_su
subotica

Član broj: 142768
Poruke: 6
*.tippnet.co.yu.



Profil

icon [Zadatak] Reversestring (obrnuti string)07.05.2007. u 14:03 - pre 155 meseci
imam neki nejasnoca u vezi ovog zadatka, jednostavno ne razumem shta radi sledeci kod
pored kojeg sam stavio komentar "?", pa bih najlepshe zamolio ako neko mozhe da mi objasni.

Code:

#include <iostream>
#include <string>
using namespace std;
char * reversestring(char *str)
{
    int len=strlen(str);   //len promenljiva ima vrednost 6

     char * result=new char[len+1]; //stvara pokazivach  koji ukazuje na char
     //koji ima dimenziju u ovom sluchaju [7]???
    char *res=result+len;     // ovo mi uopshte nije jasno?
    *res--='\0';     // ??
    while(*str)
        *res--=*str++;
    return result;
}
int main () {
    char *str="zdravo";
    cout <<reversestring(str) <<endl;
    return 0;
}
 
Odgovor na temu

2stamlers

Član broj: 142487
Poruke: 128
*.ADSL.neobee.net.



Profil

icon Re: [Zadatak] Reversestring (obrnuti string)07.05.2007. u 15:51 - pre 155 meseci
Code:
char * result=new char[len+1];


Stvara novu promenljivu tipa niz karaktera, i zauzima memorijski prostor za niz, i jedan dodatni bajt za termination character '\0'

Code:
char *res=result+len;


Pokazivac res se pozicionira na ADRESU na koju pokazuje niz result i na tuadresu se dodaje jos duzina niza, znaci jos 6 bajtova u ovom konkretnom slucaju, tako da sada res pokazuje na jedno mesto iza zadnjeg karaktera prosledjenog stringa.

Code:
*res--='\0';


Na zadnje mesto se dodaje termination character i ujedno se res pozicionira na predzadnji karakter.

pozz
 
Odgovor na temu

absBeg
BiH

Član broj: 97773
Poruke: 201
*.com
Via: [es] mailing liste



Profil

icon Re: [Zadatak] Reversestring (obrnuti string)07.05.2007. u 16:53 - pre 155 meseci
>
A ljudi jeste mu zakomplicirali kod. LOL
Mislim, drago mi je da jeste, kad trazi da mu zadacu radi neko drugi,
ali zar ovo sve nije moglo jednostavnije da se uradio preko ifstream i
ofstream objekata, citanje preko get(karakter) funkcije, a binarni rad
preko write() i read() ?!
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Reversestring (obrnuti string)

[ Pregleda: 2679 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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