Pereiti prie turinio

Kaip sukurti programą skaičiuojančią žodžius


Rekomenduojami pranešimai

Sveiki,prašau pagalbos. Kaip sukurti programą kuri suskaičiuotų kiek tekstinio failo (.txt) tekste yra žodžių? Tekstas pvz.:

Jau saulele vel atkopdama budino svieta

Ir ziemos saltos trusus pargriaudama juokes.

salciu pramones su ledais sugaisti pagavo,

Ir putodams sniegs visur i nieka pavirto.

Aš bandžiau pagal tarpus ir eilučių pabaigas,taip kažkaip:

#include <iostream>
#include <fstream>
const char FV[] = "tekstas.txt";
using namespace std;
int main()
{
   int zskc = 0;
   setlocale(LC_ALL, "Lithuanian");
   char ch;
   ifstream duom(FV);
   duom.get(ch);
   while (!duom.eof())
   {
      if ((ch==' ') || (ch=='\n'))
      {
          while ((ch ==' ') || (ch=='\n')) ch = duom.get();
          zskc++;
      }
      else duom.get(ch);
   }
   cout << zskc << endl;
   duom.close();

return 0;
}

Žodžiai yra 25,bet rodo 24,nebent apačioje padarau dar vieną tuščią eilutę...

Dar su dėstytoju bandėm čia pakeist kažką ir aš jau visai susipainiojau,taigi jai žinote kaip,ar turite ir kitok būdą padaryti tokią programą,prašau padėkite.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

int zskc = 0; pradedi skaiciuot nuo 0.. t.y. zodis "jau" yra 0, saulele yra 1, todel ir gaunas tau 24.

Bet prieš pradedant skaičiuoti žodžius tai skaičius gi būna 0,nes dar nieko nesuskaičiavę esame,tai kaip taip gaunasi? Išvis nereikia nurodyti reikšmės gal?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pasidomek apie string'u metodus find_first_of ir find_first_not_of. Apsirasysi skyrikliu aibe (tarpai, kableliai, eilutes pabaigos simboliai ir t.t.) ir siu metodu pagalba galesi analizuot eilutes bei skaiciuoti zodzius.

Logika mazdaug tokia, imi po viena eilute is failo, ieskai pirmo simbolio ne is skyrikliu aibes (find_firt_not_of), kitaip sakant pirmos raides, tuomet ieskai pirmo skyriklio nuo pirmos raides vietos (find_first_of) ir po sitos vietos zodziu padaugeja vienetu, tuomet kartoji tuos du punktus kol eilute baigesi, imi kita ir kartoji ir turesi zodziu kieki.

 

Del idomumo, kelinto cia semestro uzduotis yra ? :)

KTU pirmam kurse turejom tokias ir panasias uzduotis darbuj su tekstu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...