» »

Kako bi naredil to nalogo?

Kako bi naredil to nalogo?

gik1999 ::

Kako bi naredil to nalogo v jeziku C++:
"Imamo podatke o imenih in starosti ljudi. Izpiši tiste z najdalšimi imeni. Izpiši najmlajše"
  • spremenilo: gik1999 ()

Excalibrus ::

Kaj, če bi vsaj približno napisu kateri jezik itd.? In ne pričakuj da bo nekdo nalogo naredu namesto tebe, ker tole zveni kot naloga za logiko iz vrtca...

gik1999 ::

Saj ne sprašujem za kodo. Od kod ti to? Zanima me načrt. Ni mi jasno kako naj rezerviram pomnilnik,ker ne vem za koliko podatkov naj ga rezerviram.

crniangeo ::

Convictions are more dangerous foes of truth than lies.

amacar ::

vector uporabiš

amdsup5 ::

Nalogo lahko narediš tudi s poljem a v tem primeru boš moral kopirati polje v večje ko dosežeš maksimalni indeks, vendar to ni učinkovita rešitev.

Kot so že pred menoj napisali, lahko uporabiš vektor, ki bo to stvar reševal namesto tebe.
ustvariš vektor
Predpostavljam, da imaš razred Oseba, potem stvar deluje nekako takole,

 std::vector<Oseba> evidenca 
(ime lahko menjaš)

Poglej si operacije nad vektorji

1. problem
Izpiši tiste z najdalšimi imeni, (kombinacija for zanke in strcmp funkcije.)

2. problem
Izpiši najmlajše, s for zanko prehodiš vektor in poiščeš element v vektorju z najmanjšo starostjo.

Zgodovina sprememb…

  • spremenilo: amdsup5 ()

Yacked2 ::

Če želi izpisati le par najmlajših, bi ti shranil vseh neskončno vhodov ? Malo bolj selektivno bo treba.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

amdsup5 ::

Yacked2 je izjavil:

Če želi izpisati le par najmlajših, bi ti shranil vseh neskončno vhodov ? Malo bolj selektivno bo treba.


Kako ti veš koliko jih želi izpisati?

kako lahko izpišeš par najmlajših??

Uporaba presežnika avtomatsko diskvalificira možnost pojavljanja več rezultatov.

Edino v vrstnem redu, v tem primeru, pa znova ni definirano koliko objektov.

Drugo, neskončno vhodov?

Daj mi povej kako bi ti definiral vektor ali polje z neskončnim številom elementov?

Ker gre za osnovno nalogo, predvidevam, da tako ne bo ne vem koliko elementov v vektorju.
Če bi pa želel večje število elementov bi pa uporabil hitrejšo podatkovno strukturo. npr. seznam

Nikjer nisem zasledil, da bi se šli kake časovne optimizacije.

Uporaba seznama za 10-20 elementov je overkill + brezvezna poraba časa.

Daj se pozanimaj preden kritiziraš...

Yacked2 ::

Wow nekdo se počuti napadeno...

Recimo, da želimo vedeti kateri imajo najdaljše ime, potrebovali bi neko strukturo kamor bi shranjevali imena, ter nek prostor kamor bi si zapisali trenutno najdaljšo dolžino, ki so inicializiramo na 0. Ko dobimo na vhod novo ime, preverimo velikost, če je manjše od trenutne najdaljše dolžine ga preprosto ignoriramo, če je enako ga dodamo v strukturo, če pa je daljše pa celotno strukturo dumpamo in popravimo števec dolžine na novo vrednost.

Zakaj je psevdo neskončen vhod tako neverjeten ? Branje porabe električne energije, kjer vsako sekundo dobiš novo številko ?

PS. Če ima k oseb ime (k>1) dolžine 10, in je to najdaljše ime, imajo najdaljše ime natanko k oseb.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

amdsup5 ::

Hm.. napadeno ne, preprosto začneš kritizirat brez konkretnih argumentov.

"Recimo, da želimo vedeti kateri imajo najdaljše ime, potrebovali bi neko strukturo kamor bi shranjevali imena, ter nek prostor kamor bi si zapisali trenutno najdaljšo dolžino, ki so inicializiramo na 0. Ko dobimo na vhod novo ime, preverimo velikost, če je manjše od trenutne najdaljše dolžine ga preprosto ignoriramo, če je enako ga dodamo v strukturo, če pa je daljše pa celotno strukturo dumpamo in popravimo števec dolžine na novo vrednost."

S samo zasnovo algoritma se strinjam ampak.. a ima lahko več objektov najdaljše ime? pomisli

Več objektov ima lahko enako dolgo ime. Če pa že iščemo koliko je enakih pa je potrebno napisati koliko se jih zahteva.

"Zakaj je psevdo neskončen vhod tako neverjeten ? Branje porabe električne energije, kjer vsako sekundo dobiš novo številko ? "

Vidiš, to je sedaj nekaj drugega psevdo neskončen vhod, vsak vhod je v praksi končen se pravi se operira nad končnim številom elementov, teh je lahko ogromno a je njihovo število še
vedno končno.

"PS. Če ima k oseb ime (k>1) dolžine 10, in je to najdaljše ime, imajo najdaljše ime natanko k oseb."

Najdaljše ime ima lahko samo ena oseba.

Če pa ima še kaka oseba ime z enakim številom črk ne moremo govoriti o nadaljšem imenu.

Se pravi ne moreš izpisati par najdaljših...

Lahko izpišeš par imen z enakim številom črk ( če se nahajajo taki v strukturi).

Če pa bi želel izpisati "par najdaljših" poiščeš katero ime ima največje število črk npr. n, in določiš tako,

Izpiši par imen z n številom črk.

Slovnica je pa že heavy off topic :))

Zgodovina sprememb…

  • spremenilo: amdsup5 ()


Vredno ogleda ...

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

Kako rezervirati pomnilnik za neznano stevilo nizov?

Oddelek: Programiranje
11954 (769) smacker
»

Preusmeritev v C# formi

Oddelek: Programiranje
61225 (1129) OmegaM
»

c++ problem s text datotekami

Oddelek: Programiranje
61157 (993) akabane
»

Programiranje v C++

Oddelek: Programiranje
352563 (1421) krneki0001
»

[Java][Naloga] Seznam študentov, majčken problem

Oddelek: Programiranje
362310 (1997) VASkO

Več podobnih tem