Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem c++-pocet slov rôznej dlzky

zdravim chcela by som sa spitat ako vytvorim program ktory nacita text s textoveho suboru, spocita slova rôznej dlzky
aby mi to vypisovalo kolko slov sa v texte nachadza a akej dlzky napr.: slova dlzky 4 znakov:8, slova dlzky 7 znakov:12...
prosim pomôzte mi za pomoc vopred dakujem.

Předmět Autor Datum
Budes si nacitavat zo suboru znaky po jednom a pocitat ich, a ukladat si vysledky do pola. medzera a…
MM.. 23.06.2015 17:29
MM..
prosím vás mohol by mi to tu niekto napisat budem vam velmi vdacna urcite sa tu najde vela velmi dob…
lucka112 23.06.2015 17:44
lucka112
Mas to napisat ty aby si sa nieco naucil(a). Ked to budem pisat ja, tak to bude len zbytocna strata…
MM.. 23.06.2015 17:55
MM..
#include <iostream> #include <fstream> using namespace std; int main() { ofstream a; ifstream b; a… nový
lucka112 23.06.2015 17:58
lucka112
To vypada jak vystup z generatora nahodnych riadkov. Pisal som nacitavaj znaky po jednom. T.j. cele… nový
MM.. 23.06.2015 18:05
MM..
programovanie mame len prvy rok a zajtra to potrebujem odovzdat, ta stranka je v anglictine a jazyk… nový
lucka112 23.06.2015 18:10
lucka112
Za rok sa to da naucit. int pocty[MAXPOCET]; int aktualnypocet = 0; int znak; for(i=0; i<MAXPOCET;… nový
MM.. 23.06.2015 18:20
MM..
this is my man ty :* nový
lucka112 23.06.2015 18:25
lucka112
A este som zabudol po tom cykle while je dobre este raz otestovat aktualnypocet, a ak je nenulovy ta… nový
MM.. 23.06.2015 18:25
MM..
while((znak = a.Get()) != EOF) v tomto riadku je chyba ale neviem kde nový
lucka112 23.06.2015 18:35
lucka112
Citat chybovu hlasku vas tiez nenaucili? To a si predsa musis zadeklarovat, jak v tvojom povodnom pr… nový
MM.. 23.06.2015 19:48
MM..
A get ma byt s malym g poslední
MM.. 23.06.2015 19:50
MM..

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ofstream a;
ifstream b;

a.open("text.txt");

a.close();
b.open("text.txt");
if(b.fail())
cout<<"chyba";
b.seekg(0,b.end);
int dlzka=b.tellg();
b.seekg(0,b.beg);
char* pamet=new char[dlzka];
b.read(pamet,dlzka);
b.close();
int dlzkaa[20];
for(int i=0;i<20;i++)
dlzkaa[i]=0;
for(int i=0;i<dlzka;i++)
{
if(pamet[i]=!' ')
{
dlzkaa[i]++;
}
}
toto uz mam napisane a neviem ako dalej pomozes mi pls

Za rok sa to da naucit.

int pocty[MAXPOCET];
int aktualnypocet = 0;
int znak;

for(i=0; i<MAXPOCET; i++)
  pocty[i]=0;

a.open("text.txt");
while((znak = a.Get()) != EOF)
{
 if(a != ' ')
 {
   aktualnypocet++;
 }
 else
 {
   if(aktualnypocet>=MAXPOCET)
     aktualnypocet = MAXPOCET-1; // moc dlhe slovo
   pocty[aktualnypocet]++;
   aktualnypocet = 0;
 } 
}

hodnoty z pola pocty si vypis sam(a). V pocty[i] je pocta slov s [i] znakmi. Ak je na pozicii i 0 tak to nevypisujes.
P.S. MAXPOCET si nastav trebars na 1000 apod. (#define MAXPOCET 1000)
P.S.2. je to len zlepenec do skoly, profesional by to robil inac (dynamicke pole apod).

Zpět do poradny Odpovědět na původní otázku Nahoru