» »

C++ statistika

C++ statistika

hexor ::

Pozdravljeni!

Ukvarjam se z problemom pri katerem program bere iz tipkovnice besedilo,dokler ne pride do konca besedila(CTRL+Z) in dela statistiko prebranih znakov.Pojem statistika naj zaobjema število prebranih znakov,število besed(poljubne dolžine),število vrstic,število praznih vrstic,število kratkih besed(1 ali 2 znaka)število dolgih besed(8 ali več)

Vsa ta števila program naj shranjuje v strukturo statistika,kot elemente strukture.Med branjem besedila s tipkovnice mora torej program prištevati ustrezno vrednost v strukturi-->Primer prebrane vrstice:

mke2fs).Every file's size is rounded up to an integral number of blocks.If the block size is 1024 bytes.

Pri prebranem stavku bi moral strukturi statistika prišteti 106 znakov,20 besed,1 vrstico,0 praznih vrstic,7 kratkih besed in 1 dolgo besedo.Torej program naj izpiše statistiko ko pride do konca.

Z problemom se ukvarjam kar dolgo časa,a mi ga še ni uspelo rešiti ker ne razumem bistva :/

Vsem,ki mi boste pomagali,se najlepše zahvaljujem!

schtr4jh ::

Logika programa:
Število prebranih znakov: strlen
Število praznih vrstic: prešteješ "\n\n"
Število vrstic: prešteješ "\n"
Število besed: bereš " " (presledek)
Število kratkih in dolgih besed: gleedaš glede na predhodnji presledek. Če se je predhodnji presledek pojavil 2 znaka nazaj in je trenuten znak presledek, potem povečaš števec kratkih besed. Na enak način nardiš še za dolge besede.

Bo šlo?

hexor ::

Ne razumem:/

Tr0n ::

Kaj ne razumes?

hexor ::

Sploh ne razumem naloge....

Hexx ::

kaj je tu za ne razumet? samo šteješ presledke, vrstice, znake... in izpišeš

win64 ::

znaš prebrati katerikoli niz in povedati kako dolg je ta niz?

Tutankhamun ::

hexor,

lahko v prvo narediš nekaj takega:
definiraš
string poved = "mke2fs).Every file's size is rounded up to an integral number of blocks.If the block size is 1024 bytes.";

Zdej pa v tej povedi najdi, koliko je presledkov, koliko je besed. Besede so ločene z ločili in presledki.
besede v povedi
1 mke2fs
2 Every
3 file's
4 size
5 is
6 rounded
7 up
8 to
9 an
10 integral
11 number
12 of
13 blocks
14 If
15 the
16 block
17 size
18 is
19 1024
20 bytes

Število znakov dobiš kar s funkcijo poved.size(). Če se pa presledki ne štejejo jih moreš pa še odštet... itd... A je kej bolj jasno?
AMD Phenom QUAD 9950 Black Edition, 8GB

hexor ::

malo bolj je jasno.samo nevem katere argumente vstavim v funkcijo poved.size()

ERGY ::

Ti rabiš prvo naučit c++, preden se lotiš problemov.

http://www.cplusplus.com/reference/stri...

Zgodovina sprememb…

  • spremenilo: ERGY ()

hexor ::

Pomeni ustvarim strukturo:
struct statistika
{
char znak;
int beseda;
int vrstice;
int kratke besede;
int dolge besede;
};

In potem glavni program v katerem vnašam neko besedilo.To besedilo se shranjuje v strukturo pod posameznimi elementi strukture in dela neko statistiko.(Naj me kdo poravi če se motim).

pomoč?

pomoč?

Zgodovina sprememb…

  • spremenil: hexor ()

smoke ::

hexor, ja in če še stisneš kombinacijo tipk alt+m ti printer začne še bankovce za 100 eur printat ven! ;) ne gre to kar tako.. kam točno pa misliš da bi se lahko shranilo to besedilo v to strukturo? v spremenljivke tipa int gredo itak samo cela števila, potem maš pa na vrhu še spremenljivko tipa char v katero gre en zlog (byte) se pravi recimo ena črka tega besedila. kaj moraš ti narediti je to, da shraniš celo besedilo v nek array charov (recimo "char besedilo[100];" ti da 100 bytov prostora da shraniš besedilo) in potem parsaš (z neko zanko greš skozi to besedilo in ugotoviš koliko je znakov, vrstic.. itd)

hexor ::

?...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Pomoč pri programiranju z javo

Oddelek: Programiranje
203541 (2468) milc
»

C# Iskanje besed

Oddelek: Programiranje
91769 (1619) Spura
»

Nujna Pomoč ! C++

Oddelek: Programiranje
121224 (1023) BigWhale
»

Naloga v C-ju pomoč

Oddelek: Programiranje
112448 (2048) keworkian
»

[OpenOffice] Stetje besed

Oddelek: Programska oprema
102322 (2142) Yossarian

Več podobnih tem