Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 07. 11. 2015 13:26 — Editoval Freedy (07. 11. 2015 13:29)

Freedy
Místo: Praha
Příspěvky: 2726
Škola: MFF UK (15-18, Bc.)
Pozice: student
Reputace:   166 
 

Program s text. souborem

Dobrý den,

přemýšlím nad tím, v čem pořád dělám chybu.
(chci načíst čísla z textového souboru vstup.txt a uložit si je do pole)

Mám takovýto začátek.

Code:

var f: text;
cislo: array[1..10000] of integer;
i,k,celkem,pocet: integer;

begin                                                        
    assign(f, 'vstup.txt');                {načtení souboru}
    reset(f);
    i:=1;
        while not eof(f) do            {načtení čísel do pole}
            begin
                while not eoln(f) do
                    begin
                        read(f, cislo[i]);
                        i:=i+1
                    end;
                readln;
            end;
    close(f);

Pořád však nemůžu přijít na to, co je na tom špatně. V podstatě:
1) jako "proměnnou" budu mít soubor typu text ---> první řádek
2) potom proměnné typu text přiřadím soubor vstup.txt pomocí assign(f,'vstup.txt')
3) pomocí reset(f) načtu soubor.
4) dokud nedojdu na konec souboru, provádím - dokud nedojdu na konec řádku, zapisuji čísla, pak skáču na další řádek atd.
5) zavírám program, čísla mám uložené v poli.

Nicméně, proč to není správně?
Děkuji, freedy


L'Hospitalovo pravidlo neexistuje. Byl to výsledek Johanna Bernoulliho

Offline

 

#2 07. 11. 2015 14:03

LukasM
Příspěvky: 3274
Reputace:   193 
 

Re: Program s text. souborem

↑ Freedy:
Už je to dlouho co jsem dělal v Pascalu a teď tu nemám překladač, napiš co je přesně za problém. Nejde to přeložit nebo to dělá něco co nechceš? Takhle na první pohled bych myslel, že se to bude bránit ze souboru text načítat čísla (integer). Mohlo by být potřeba načíst char a ten pak zkonvertovat na integer. Ale jak říkám, můžu se plést.

Offline

 

#3 07. 11. 2015 14:07 Příspěvek uživatele Bati byl skryt uživatelem Bati.

#4 07. 11. 2015 14:37

Freedy
Místo: Praha
Příspěvky: 2726
Škola: MFF UK (15-18, Bc.)
Pozice: student
Reputace:   166 
 

Re: Program s text. souborem

↑ LukasM:
No problém je takový.

Jediné co potřebuji, je načíst ze souboru vstup.txt všechna čísla oddělená mezerou.
Soubor vstup.txt může vypadat třeba takto
1 5 34 2
8 19 13 22 55
1 2
A já potřebuji přečíst tyto čísla a postupně dosadit do hodnot cislo[1]=1, cislo[2]=5 ... cislo[11]=2.
Jenže tento začátek to zřejmě neudělá a já pořád nechápu proč :(


L'Hospitalovo pravidlo neexistuje. Byl to výsledek Johanna Bernoulliho

Offline

 

#5 08. 11. 2015 22:36

Eratosthenes
Příspěvky: 2937
Reputace:   139 
 

Re: Program s text. souborem

ahoj ↑ Freedy:,

z textového souboru nemůžeš číst číslo, tj. nelze

read(f, cislo[i]);

Musíš přečíst posloupnost znaků, kterou uložíš do řetezce, a ten pak musíš na číslo převést pomocí funkce StrToInt resp. StrToFloat.


Budoucnost patří aluminiu.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson