Stránka: 1 z 1
| [ Príspevkov: 19 ] | |
Autor | Správa |
---|
Registrovaný: 26.11.07 Prihlásený: 12.04.19 Príspevky: 143 Témy: 25 | 25 Bydlisko: Šurany |
Dajme tomu že zadanie príkladu znie: Zostav prog. na načítanie čísiel zo súboru st.in a ich vypísanie v programe.
Tak som urobil toto:
Kód: program postupnosti; uses crt; var i:byte; f:text; A:array[1..500] of byte; BEGIN assign(f,'st.in'); reset(f); clrscr; i:=1; write('Cisla zo suboru su: '); while not eof(f) do begin read(f,A[i]); write(A[i]); write(' '); inc(i); end; close(f); readln; end.
Program ide v pohode pokial f deklarujem ako text.Ale ked dam f:file of byte tak mi vypíše viac a iné čísla ako mam v súbore.A čísla v súbore som mal od 1-70.
|
|
Registrovaný: 02.09.05 Prihlásený: 17.11.10 Príspevky: 154 Témy: 1 | 1 |
Zistil som preco je to tak... Subor typu file of byte musi mat presne stanovenu formu, nesmu sa medzi cislami nachadzat medzery.
Napr. obsah suboru obsahujuci cisla : (10,20,30,40,50) je : "(2"
Zistil som to tak, ze som pomocou pascalu vytvoril subor a zapisal don hodnoty.
Cize ak maju cisla v tvojom vstupnom subore formu napr. "10 20 30 40 50", dojde k nespravnemu precitaniu hodnot. Preto odporucam pouzit subor typu text, alebo vstupny subor vytvorit pomocou dalsieho programu a pouzit subor typu byte.
_________________ Múdry nie je ten, čo veľa vie, ale ten, kto vie, čo je treba. (Thomas Alva Edison) |
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
nezda sa mi toto : Kód: A:array[1..500] of byte;
pokial sa nemylim , tak byte ma rozsah 0..255
_________________ kdo si hraje nezlobi |
|
Registrovaný: 26.11.07 Prihlásený: 12.04.19 Príspevky: 143 Témy: 25 | 25 Bydlisko: Šurany |
2 Snake2: To je jedno,aj ked to zmením na 100 ,tak to nepomôže.
Asi to bude tak ako vraví programator,skúšal som vytvoriť súbor a naozaj tam napísalo blbosti a nie 10,20 ...
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
snake2 píše: nezda sa mi toto : Kód: A:array[1..500] of byte; pokial sa nemylim , tak byte ma rozsah 0..255 To je úplne v poriadku, pretože interval 1..500 je len veľkosť toho poľa (počet prvkov). Tj. je to pole s indexami 1 až 500 ktorého každý prvok je typu Byte (teda 1..255).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
heh, dlho som s pascalom nerobil ,ale spomenul som si na fajnu procedurku val(retazec,cislo,chyba); ktora ti z retazca spravi cislo, ak pri konvertovani nastane chyba , tak do code sa ulozi pozicia znaku , ktory sa neda koncertovat
_________________ kdo si hraje nezlobi |
|
Registrovaný: 13.04.07 Prihlásený: 15.05.09 Príspevky: 68 Témy: 9 | 9 |
hmmm no skus este nieco taketo mne to ide v pohode... zadeklaruj f ako file of byte.. a potom namiesto write(a[i]); napis write(char(a[i]),' '); .... inak neviem aku mam verziu pascalu a ak sa mam priznat tak neviem ci je to to co chces
|
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
neznamy píše: .. a potom namiesto write(a[i]); napis write(char(a[i]),' '); .... urcite nie !! vypise uplnu chujovinu , toto nema s ASCII nic spolocne
_________________ kdo si hraje nezlobi |
|
Registrovaný: 13.04.07 Prihlásený: 15.05.09 Príspevky: 68 Témy: 9 | 9 |
Kód: program postupnosti; uses crt; var i: Byte; f: file of Byte; a:array [1..500] of Byte; begin Assign(f, 'st.in'); reset(f); clrscr; i:=1; write('Cisla zo suboru su: '); while not eof(f) do begin read(f, a[i]); write(char(a[i]),' '); inc(i); end; close(f); readkey; end.
toto je moj zdrojovy subor... ak dam do suboru st.in 10,20,30,40,50 tak vystup je Cisla zo suboru su: 1 0 , 2 0 , 3 0 , 4 0 , 5 0 ... mas pravdu vzpise to chujovinu lebo to neberie cislo 10 ako 10 ale ako 1 a 0 .. ale myslim ze na vypis zo suboru je to celkom postacujuce.. dalo by sa to osetrit tak ze ak je ciarka tak da medzeru inak nie.. a nik by si to nevsimol... skus si to dat do pasclau...alebo aspon mi pls napis co ti to vypisalo lebo mne to ide.. mozes aj ss
|
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
toto ide, ale s tymi cislami nespravis ziadne operacie , beer to totiz ako retazec : Kód: program postupnosti; uses crt; var i: Byte; f: text; a:array [1..100] of string; begin Assign(f,'in.txt'); reset(f); clrscr; i:=1; write('Cisla zo suboru su: ');
while not eof(f) do begin read(f,a[i]); write(a[i],' '); inc(i); end; close(f); readkey; end.
_________________ kdo si hraje nezlobi |
|
Registrovaný: 13.04.07 Prihlásený: 15.05.09 Príspevky: 68 Témy: 9 | 9 |
no neviem ale on tusim chcel len vypisat tie cisla .. inak dalo by sa aj toto upravit.. pomocou fcie StrToInt ...
|
|
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
neznamy píše: no neviem ale on tusim chcel len vypisat tie cisla .. inak dalo by sa aj toto upravit.. pomocou fcie StrToInt ... heh , ta fncia ide len v delphi
_________________ kdo si hraje nezlobi |
|
Registrovaný: 02.09.05 Prihlásený: 17.11.10 Príspevky: 154 Témy: 1 | 1 |
Ako som napisal, bud si spravis program, pomocou kt. si vytvoris vstupny subor of byte (pretoze ten ma inu strukturu) a nasledne ho budes v programe definovat ako file of byte a bude sa z neho spravne citat, alebo subor bude typu text a obsah suboru citat pomocou fcie read(x), kde x je typu integer/byte.
_________________ Múdry nie je ten, čo veľa vie, ale ten, kto vie, čo je treba. (Thomas Alva Edison) |
|
Registrovaný: 13.04.07 Prihlásený: 15.05.09 Príspevky: 68 Témy: 9 | 9 | |
Registrovaný: 22.10.05 Príspevky: 429 Témy: 66 | 66 Bydlisko: Trnava |
nene , nemylim sa , v standardnych knizniciach pascalu nie je .. ak si tu temu pozries dokladnejsie , tak zbadas, ze tu fciu StrToInt si musis zadeklarovat pomocou Val
_________________ kdo si hraje nezlobi |
|
Registrovaný: 13.04.07 Prihlásený: 15.05.09 Príspevky: 68 Témy: 9 | 9 |
snake2: ja som nepovedal ze je v standarde.. ja som len povedal ze ak by nieco s tymi cislicami zo suboru chcel robit tak by to mohol previest cez tuto fciu.. ty si povedal ze ta funkcia ide LEN v delphi co nie je pravda.. ale ok necchem sa tu teraz hadat.. dufam ze sa v tom aspon trochu on vyzna a niektore z tych rieseni co tu boli sa mu hodilo
|
|
Registrovaný: 02.09.05 Prihlásený: 17.11.10 Príspevky: 154 Témy: 1 | 1 |
neznamy píše: to programator.. a co ak mu ten subor vytvoril niekto iny? V tom pripade musi byt znama struktura suboru a podla toho sa zariadit...
_________________ Múdry nie je ten, čo veľa vie, ale ten, kto vie, čo je treba. (Thomas Alva Edison) |
|
Registrovaný: 26.11.07 Prihlásený: 12.04.19 Príspevky: 143 Témy: 25 | 25 Bydlisko: Šurany |
neznamy píše: Kód: program postupnosti; uses crt; var i: Byte; f: file of Byte; a:array [1..500] of Byte; begin Assign(f, 'st.in'); reset(f); clrscr; i:=1; write('Cisla zo suboru su: '); while not eof(f) do begin read(f, a[i]); write(char(a[i]),' '); inc(i); end; close(f); readkey; end. toto je moj zdrojovy subor... ak dam do suboru st.in 10,20,30,40,50 tak vystup je Cisla zo suboru su: 1 0 , 2 0 , 3 0 , 4 0 , 5 0 ... mas pravdu vzpise to chujovinu lebo to neberie cislo 10 ako 10 ale ako 1 a 0 .. ale myslim ze na vypis zo suboru je to celkom postacujuce.. dalo by sa to osetrit tak ze ak je ciarka tak da medzeru inak nie.. a nik by si to nevsimol... skus si to dat do pasclau...alebo aspon mi pls napis co ti to vypisalo lebo mne to ide.. mozes aj ss
Ano vypísalo mi to tak isto ako tebe
|
|
Registrovaný: 14.01.08 Prihlásený: 14.01.08 Príspevky: 1 Témy: 0 | 0 |
Chcelo by to najprv napisat ako su tie cisla ulozene v subore, ci je medzi nimi medzera, ciarka,...
Ak vsak to nie je presne urcene, citaj postupne znaky a kontroluj ci znak nie je cislo, ak je precitany znak cislo, vrat ho do bufferu a precitaj ho klasicky ako cislo.
Prikazy ti vsak nepoviem, lebo pascal som uz dlhsiu chvilu nevidel:)
|
|
Stránka: 1 z 1
| [ Príspevkov: 19 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Operačné systémy Microsoft | 0 | 277 | 21.08.2012 9:28 laz13 | | v Operačné systémy Microsoft | 10 | 604 | 19.03.2008 13:59 biky | | v Ostatné programy | 3 | 321 | 22.04.2013 19:07 michalesku | | v PHP, ASP | 5 | 745 | 23.08.2009 10:41 p360t | | v Assembler, C, C++, Pascal, Java | 4 | 480 | 12.09.2012 7:43 strider | | v Assembler, C, C++, Pascal, Java | 0 | 430 | 19.12.2014 13:18 Styracoz | | v Assembler, C, C++, Pascal, Java | 2 | 394 | 11.04.2012 1:34 Gregi555 | | v Assembler, C, C++, Pascal, Java | 2 | 560 | 23.06.2008 17:30 petos | | v Assembler, C, C++, Pascal, Java | 3 | 993 | 14.12.2009 18:39 Proxy69 | | v Assembler, C, C++, Pascal, Java | 6 | 987 | 28.06.2008 2:11 Roberbo | | v Assembler, C, C++, Pascal, Java | 6 | 505 | 10.05.2010 17:37 jahoda09 | | v Assembler, C, C++, Pascal, Java | 3 | 515 | 24.12.2010 16:25 Goergius | | v Ostatné programy | 4 | 638 | 06.04.2008 11:51 Blackshadow | | v HTML, XHTML, XML, CSS | 3 | 704 | 28.04.2008 16:37 stenley | | v Operačné systémy Unix a Linux | 1 | 355 | 14.07.2012 12:34 nBXXL | | v Ostatné programy | 14 | 1313 | 11.06.2007 9:18 tairikuokami |
|