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

[Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu

[ Pregleda: 2945 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.eunet.yu.



Profil

icon [Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu03.06.2008. u 05:49 - pre 193 meseci
Da li bi neko mogao da mi pomogne oko ovog zadatka, nikako ne uspevam da ga resim.
Unapred zahvalan!

Code:

//Napisati program u C++ jeziku koji pita korisnika da ukuca niz reci odvojenih razmaknicom (space),
//a zatim program treba da odstampa na ekranu taj niz reci
//tako da prva rec bude odstampana u prvom redu, druga rec u drugom redu, itd.

#include <iostream>
#include <string>

using namespace std;

int main()
{
  
    string tekst;
    string rec;

    cout<<"Unesite tekst odvojen space-om!"<<endl<<endl;

    getline(cin,tekst);

    int pozicija = tekst.find(" ",0);


    if(pozicija == -1)
    {
        cout<<"Unesite karaktera razdvojene space-om!"<<endl;
        system("PAUSE");
        exit(1);
    }

    while(pozicija != -1)
    {
        rec = tekst.substr(0,pozicija);
        cout<<rec<<endl;
        tekst.erase(0,pozicija);
        pozicija = tekst.find(" ",0);
    }

 return 0;
}

 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.static.sbb.rs.



+1 Profil

icon Re: [Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu03.06.2008. u 08:17 - pre 193 meseci
Sto radis
Code:

tekst.erase(0,pozicija);
?
Umesto
Code:

pozicija = tekst.find(" ", pozicija);

bi trebalo nesto tipa
Code:

pozicija = tekst.find(" ", pozicija + 1);

jer se pomeras dalje svaki put kad naletis na razmak.
Nemoj da poredis
Code:

if (pozicija == -1)

vec
Code:

if (pozicija == string::npos)

a za tip varijable pozicija koristi string::size_type.

Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.113.*



+7 Profil

icon Re: [Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu03.06.2008. u 23:33 - pre 193 meseci
Mozes i nesto ovako ... prostije je.
Code:

#include <iostream>
using namespace std;

int main()
{
    char* text=new char[256]; int i=0;
    cout << "Unesite tekst odvojen space-om!"<<endl; cin.getline(text,256);

    while(text[i]!=0){
        cout << text[i];
        if(text[i]==(char)' ')
           cout << endl;
        i++;
    }

    cout << endl;
    system("PAUSE");
    return 0;
}

ili samo sa nizom
Code:

#include <iostream>
using namespace std;

int main()
{
    char* text=new char[256];
    cout << "Unesite tekst odvojen space-om!"<<endl; cin.getline(text,256);

    while((char)*text!=0){
        cout << (char)*text;
        if((char)*text==(char)' ')
           cout << endl;
        text ++;
    }

    cout << endl;
    system("PAUSE");
    return 0;
}

 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.113.*



+7 Profil

icon Re: [Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu04.06.2008. u 09:41 - pre 193 meseci
Bolje ovako :) ... ovaj gore kod prelazi u novi red za svako space a teoretski korisnik moze da upise 10 space izmedju reci i onda to nije to sto se trazilo.
Malo razradjenije ...
Code:

#include <iostream>
using namespace std;

int main()
{
    char* text=new char[256]; // npr. 256 bajtni buffer
    cout << "Unesite tekst odvojen space-om!"<<endl; cin.getline(text,256); // IO

    while((char)*text!=0) // dok vrednost bajta koju pokazuje pointer nije 0 , sto znaci da smo stigli do kraja teksta
    { 
        if((char)*text==(char)' ' && (char)*(text-1)!=(char)' ') // ako je space i nije i prethodni space prelazimo u novi red
            cout << endl;
        else
            if((char)*text!=(char)' ') // ako trenutno slovo nije space
                cout << (char)*text; // ispisujemo trenutno slovo
        text ++; // i inkrementiramo pokazivac da bi pokazivao na sledeci bajt
    }

    cout << endl;
  //  system("PAUSE");
    return 0;
}


[Ovu poruku je menjao Eurora3D Team dana 04.06.2008. u 10:53 GMT+1]
 
Odgovor na temu

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.eunet.yu.



Profil

icon Re: [Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu06.06.2008. u 16:12 - pre 193 meseci
Hvala vam,puno ste mi pomogli!
Sve najbolje...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Stamoanje niza reci odvojenih space-om u posebnom redu

[ Pregleda: 2945 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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