» »

nizi in besedilo

nizi in besedilo

fukolica ::

lepo pozdravljeni

imam eno vprašanje...namreč v šoli smo dobili nasljednjo nalogo....
"V niz vnesemo besedilo. Koliko je vsota vseh števk, ki smo jih vnesli med besedilom"

najlepša hvala za pomoč
fukolica

Backup22 ::

Poglej ASCII kodo! Po pa filtririaš številke ter jih seštevaš...
//

robbe ::

No samo ko ti filtriraš številke, so le te še vedno v stringu, kako jih potem spravit v int, da jih sešteješ?

Backup22 ::

Ma nardiš s polj pa lepše, bolje, lažje :)
Drugače pa:
klik 1
klik2
kilk3

Nekaj se bo že našlo...
//

snow ::

#include <iostream>
#include <string>

int main()
{
    std::string text="to 1000 je en mali999testni string 1";
    int sum=0,cur=0;
    for(int i=0;i<text.size();i++)
    {
        if(text[i]>= '0' && text[i]<='9')
        {
            cur*=10;
            cur+=text[i]-'0';
        }
        else
        {
            sum+=cur;
            cur=0;
        }
    }
    sum+=cur;
    
    std::cout<<sum<<std::endl;
    
    system("pause");
    return 0;
}
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

snow ::

Aja. Sej v c++ a ne? :\
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

snow ::

Erm števk, ne številk. ;)

No potem je še lažje. Tam ko preverja če je cifra daš namesto cur kr sum+=text[i]-'0';
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

robbe ::

Zakon :D Kak hudiča se to sploh spomneš? Pa zanima me kaj naj bi pomenil '9' ali pa '0'. A je to številka v stringu?

snow ::

Ja. In mislim da '0' ima vrednost 30, '9' pa 39 lahko pogledaš če je znak ki ga trenutno gledaš cifra, se pravi med 0 in 9.
Pol pa samo '0' odšteješ da dobiš pravo vrednost in jo prišteješ skupni vsoti.

Ma to so take fore, ki se jih naučiš s časom :)
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

snow ::

#include <iostream>
#include <string>

int main()
{
    std::string text="to 1000 je en mali999testni string 1";
    int sum=0;
    for(int i=0;i<text.size();i++)
    {
        if(text[i]>= '1' && text[i]<='9')
        {
            sum+=text[i]-'0';
        }
    }
    std::cout<<sum<<std::endl;
    system("pause");
    return 0;
}
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

robbe ::

Kje je razlika med text.size in text.lenght? Saj ti obe vrnejo dolžino niza, pa vendar tukaj ne dela lenght.

Backup22 ::

Kolk se spomin je ni.. oboje vrne dolžino tipa int.
//

snow ::

Enako vrneta.
In meni dela oboje.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Gundolf ::

robbe, morda moraš pravilno napisat length pa ti bo delalo :P


Vredno ogleda ...

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

osnove v Javi - zvezdice

Oddelek: Programiranje
403537 (2759) Tutankhamun
»

[java] opcijsko okno

Oddelek: Programiranje
102071 (1852) infiniteLoop
»

[C] Narascajoce sortiranje linearnega seznama

Oddelek: Programiranje
71856 (1745) Jebiveter
»

win api (c++)

Oddelek: Programiranje
462539 (1819) Gundolf
»

[Java] Tezave s stringom

Oddelek: Programiranje
131639 (1578) Sergio

Več podobnih tem