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

pomoc oko zadatka

[es] :: C++ programiranje :: C++ za početnike :: pomoc oko zadatka

[ Pregleda: 647 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tosheen_su
subotica

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



Profil

icon pomoc oko zadatka07.05.2007. u 14:03

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;
}
07.05.2007. u 14:03 

2stamlers

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



Profil

icon Re: pomoc oko zadatka07.05.2007. u 15:51
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
07.05.2007. u 15:51 

absBeg
BiH

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



Profil

icon Re: pomoc oko zadatka07.05.2007. u 16:53
>
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
07.05.2007. u 16:53 

[es] :: C++ programiranje :: C++ za početnike :: pomoc oko zadatka

[ Pregleda: 647 | Odgovora: 2 ]

Postavi temu Odgovori

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