Forum » Programiranje » [Naloga][C++] podatkovni tip sklad in istoležne vrstice v datotekah
[Naloga][C++] podatkovni tip sklad in istoležne vrstice v datotekah
matjaz1111 ::
zdravo,
prosil bi vas za pomoč pri tej nalogi:(C++)
Napisi razred za podatkovno strukturo Sklad ketere elementi so besede.Tip za besedo naj bo string.Maxi. dolžina besede naj bo 80 znakov.Sklad naj ima metode pop push ,jePrazen.Metoda jePrazen vrne logično vrednost true ko je sklad prazen sicer vrne logično vrednost false.Ločeno napišite efinicijo razreda ,implementacije razreda in glavni program,v keterem je prikaz uporabe tega razred.
in
napišite program, ki odpre dve vhodni datoteki prva.txt in druga.txt. program iz obeh datotek prebere istoležni vrstici, ju primerja in če se razlikujeta, ju porgram izpiše na zaslon. na koncu program izpiše še število , koliko istoležnih vrstic se razlikuje. datoteki sta lahko različno dolgi.
(pri tej nalogi bi samo rabil tisti del, ki primerja dve datoteki in kako izpiše število, koliko istoležnih vrstic se razlikuje...)
ne uspe mi nikakor spravit skup teh nalog...
hvala,lp
matjaž
prosil bi vas za pomoč pri tej nalogi:(C++)
Napisi razred za podatkovno strukturo Sklad ketere elementi so besede.Tip za besedo naj bo string.Maxi. dolžina besede naj bo 80 znakov.Sklad naj ima metode pop push ,jePrazen.Metoda jePrazen vrne logično vrednost true ko je sklad prazen sicer vrne logično vrednost false.Ločeno napišite efinicijo razreda ,implementacije razreda in glavni program,v keterem je prikaz uporabe tega razred.
in
napišite program, ki odpre dve vhodni datoteki prva.txt in druga.txt. program iz obeh datotek prebere istoležni vrstici, ju primerja in če se razlikujeta, ju porgram izpiše na zaslon. na koncu program izpiše še število , koliko istoležnih vrstic se razlikuje. datoteki sta lahko različno dolgi.
(pri tej nalogi bi samo rabil tisti del, ki primerja dve datoteki in kako izpiše število, koliko istoležnih vrstic se razlikuje...)
ne uspe mi nikakor spravit skup teh nalog...
hvala,lp
matjaž
- spremenilo: CCfly ()
snow ::
Prvo preberi navodila o oblikovanju naslovov tem.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins
Tutankhamun ::
za 2. nalogo (neki u tem stilu :)).
int main (int argc, char *argv []) { ifstream datoteka1, datoteka2; string vrstica1, vrstica2; int razlik = 0; datoteka1.open (argv [1]); // datoteka1.txt datoteka2.open (argv [2]); // datoteka2.txt while (datoteka1.eof () || datoteka2.eof ()) { getline (datoteka1, vrstica1); getline (datoteka1, vrstica2); if (vrstica1 != vrstica2) { ++razlik; // število različnih vrstic /* izpiši različni istolezni vrtici */ cout << "1. vrstica: " << vrstica1 << endl; cout << "2. vrstica: " << vrstica2 << endl; } } cout << "Različnih vrstic = " << razlik << endl; return 0; }
AMD Phenom QUAD 9950 Black Edition, 8GB
Zgodovina sprememb…
- spremenil: Tutankhamun ()
snow ::
Mogoče mankja tukaj kakšen ! (not).
while (datoteka1.eof () || datoteka2.eof ())
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins
Tutankhamun ::
Res je ;). Nism nč testiru, sam tok sm naredu da se je prevedl :D.
AMD Phenom QUAD 9950 Black Edition, 8GB
bozjak ::
Ok, ne vem ce sem prav razumel prvo nalogo (kaj naredi funkcija "pop push"?). Tuki imas primer classa, ce kaj ni uredu naj ti bo to za vzorec, ce pa je vredu ti pa prikaz nebi smelo bit problem za napisat.
P.S. Sm lih v sluzbi, tko da sm napisal zelo na hitro in nisem probal prevesti, a moralo bi delati.
EDIT: Ravnokar sem se enkrat prebral navodilo. Ce bi moral ta razred simulirati delovanje sklada, potem zgornji primer seveda ni pravilen. Ce naj simulira sklad potem prosim, da bolj podrobno napises kako naj bi stvar delovala? Mora pisati na sklad, ali je potrebno uporabiti dinamičen seznam, etc..
LP
#include <string.h> typedef char string[80] class sklad { string beseda; public: sklad () { strcpy(beseda, ""); } void pop_push (string in) { strcpy(beseda, in); } boolean jePrazen() { if (strcmp(beseda, "") == 0) return true; else retrun false; } };
P.S. Sm lih v sluzbi, tko da sm napisal zelo na hitro in nisem probal prevesti, a moralo bi delati.
EDIT: Ravnokar sem se enkrat prebral navodilo. Ce bi moral ta razred simulirati delovanje sklada, potem zgornji primer seveda ni pravilen. Ce naj simulira sklad potem prosim, da bolj podrobno napises kako naj bi stvar delovala? Mora pisati na sklad, ali je potrebno uporabiti dinamičen seznam, etc..
LP
http://upor.blogec.si
http://bozjak.deviantart.com
http://bozjak.deviantart.com
Zgodovina sprememb…
- spremenil: bozjak ()
Tutankhamun ::
Vrjetn pomen, da je 5. vrstica v 1. datoteki enaka 5. vrstici v drugi datoteki...
Uuuu pa še eno napako sm vidu tm v vrstici while (datoteka1.eof () || datoteka2.eof ())
Tko bi mogl bit
while (datoteka1.eof == 0 && datoteka2.eof () == 0)
Pomoje :D
pa še prva naloga :
Uuuu pa še eno napako sm vidu tm v vrstici while (datoteka1.eof () || datoteka2.eof ())
Tko bi mogl bit
while (datoteka1.eof == 0 && datoteka2.eof () == 0)
Pomoje :D
pa še prva naloga :
class CSklad { public: int push (string value) { if (value.size () > 80) /* max string size */ return -1; m_sklad.push_back (value); return 0; } string pop () { string tmp = m_sklad.back (); m_sklad.pop_back (); return tmp; } int is_empty () { if (m_sklad.size () > 0) return 0; return 1; } private: vector <string> m_sklad; }; int main (int argc, char *args []) { CSklad sklad; sklad.push ("tadaaa1"); sklad.push ("tadaaa2"); sklad.push ("tadaaa3"); sklad.push ("tadaaa4"); sklad.push ("tadaaa5"); sklad.push ("tadaaa6"); sklad.push ("tadaaa7"); while (!sklad.is_empty ()) { cout << sklad.pop () << endl; } return 0; }
AMD Phenom QUAD 9950 Black Edition, 8GB
Zgodovina sprememb…
- spremenil: Tutankhamun ()
matjaz1111 ::
hvala vsem za pomoč, sam tega nebi skupaj spravo.
- ki sta v prvi in drugi datoteki v isti vrstici (tak kot je tutankhamun napiso)
- Sklad lahko manipuliramo z ukazi push in pop. Push vnese podatke v sklad, pop jih odstrani)
lp, matjaž
Kaj sta 'istolezni vrstici' ?!Kaj sta 'istolezni vrstici' ?!
- ki sta v prvi in drugi datoteki v isti vrstici (tak kot je tutankhamun napiso)
(kaj naredi funkcija "pop push"?)
- Sklad lahko manipuliramo z ukazi push in pop. Push vnese podatke v sklad, pop jih odstrani)
lp, matjaž
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# pomoč pri razmišljanjuOddelek: Programiranje | 2293 (1437) | urozz |
» | [c] Enaki datotekiOddelek: Programiranje | 1029 (889) | Spura |
» | [C] Branje iz datotekeOddelek: Programiranje | 1716 (1547) | BigWhale |
» | [Pascal] Kako program prepričati, da preskoči vrsticoOddelek: Programiranje | 1153 (876) | joze67 |
» | dvojna while zanka- problemOddelek: Programiranje | 1128 (1008) | T(he) Boss |