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

Pomoć oko zadatka sa stringovima!

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoć oko zadatka sa stringovima!

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

webskater1
BiH

Član broj: 1940
Poruke: 1
*.PPPoE-2252.sa.bih.net.ba.

Sajt: neowin.net


Profil

icon Pomoć oko zadatka sa stringovima!10.09.2006. u 11:33 - pre 214 meseci
Moze li mi neko rijesiti ovaj zadatak?

Definisite slijedece funkcije:

Code:

char* dodjeli_str(char* s);
void dodaj_str(char* &a, char* b);
char* spoji_str(char* a, char* b);  //ovo su overloaded funkcije
char* spoji_str(char* a, char* b, char* c);  //ovo su overloaded funkcije


Potom napravite neku testnu funkciju main u kojoj cete koristiti implementirane funkcije, kao npr.:

Code:

void main()
{  
  char* str1=dodjeli_str("Prva recenica");
dodaj_str(str1, ", ");

char* str2=spoji_str(str1, "Treca recenica"); 

char* str3=spoji_str(">>>>>", str2, "<<<<<<");

cout << str1 << endl;  //sipis: "Prva recenica, "
cout << str2 << endl;  //ispis: "Prva recenica, Treca recenica"
cout << str3 << endl; //ispis: ">>>>>Prva recenica, Treca recenica<<<<<<"

delete [] str1;
delete [] str2;
delete [] str3;
}
   
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.196.*



Profil

icon Re: Pomoć oko zadatka sa stringovima!10.09.2006. u 18:05 - pre 214 meseci
Pravilo foruma je da se ne resavaju domaci, ako se sam ne potrudis i da potrazis pomoc gde zaglavis. Ali evo jedan iskljucak, jer sam danas dobre volje
Pretpostavljam da ne smes koristiti funkcije strcat ili sprintf. Ako smes onda je mnogo lakse
Kod bez strcat i sprintf
Code:

#include <iostream>
using namespace std;

char* dodjeli_str(char* s);
void dodaj_str(char* &a, char* b);
char* spoji_str(char* a, char* b);  //ovo su overloaded funkcije
char* spoji_str(char* a, char* b, char* c);  //ovo su overloaded funkcije

int main()
{  
    char* str1=dodjeli_str("Prva recenica");
    dodaj_str(str1, ", ");

    char* str2=spoji_str(str1, "Treca recenica"); 

    char* str3=spoji_str(">>>>>", str2, "<<<<<<");

    cout << str1 << endl; //sipis: "Prva recenica, "
    cout << str2 << endl; //ispis: "Prva recenica, Treca recenica"
    cout << str3 << endl; //ispis: ">>>>>Prva recenica, Treca recenica<<<<<<"

    delete [] str1;
    delete [] str2;
    delete [] str3;

    return 0;
}

char* dodjeli_str(char* s)
{
    char* tmp = new char[strlen(s) + 1];
    for (unsigned i = 0; i <= strlen(s); ++i)
        tmp[i] = s[i];
    return tmp;
}

void dodaj_str(char* &a, char* b)
{
    char* tmp = new char[strlen(a) + strlen(b) + 1];
    for (unsigned i = 0; i <= strlen(a); ++i)
        tmp[i] = a[i];
    for (unsigned i = 0; i <= strlen(b); ++i)
        tmp[strlen(a) + i] = b[i];
    a = tmp;
}

char* spoji_str(char* a, char* b)
{
    char* tmp = new char[strlen(a) + strlen(b) + 1];
    for (unsigned i = 0; i <= strlen(a); ++i)
        tmp[i] = a[i];
    for (unsigned i = 0; i <= strlen(b); ++i)
        tmp[strlen(a) + i] = b[i];
    return tmp;
}

char* spoji_str(char* a, char* b, char* c)
{
    char* tmp = new char[strlen(a) + strlen(b) + strlen(c) + 1];
    for (unsigned i = 0; i <= strlen(a); ++i)
        tmp[i] = a[i];
    for (unsigned i = 0; i <= strlen(b); ++i)
        tmp[strlen(a) + i] = b[i];
    for (unsigned i = 0; i <= strlen(c); ++i)
        tmp[strlen(a) + strlen(b) + i] = c[i];
    return tmp;
}

Sa mnogo copy&paste
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoć oko zadatka sa stringovima!

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

Postavi temu Odgovori

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