prosim o radu mam taky banalny problem, v textovom subore mam udaje v takomto tvare:
mo1 +2.3
mo2 -3.5
mo3 -4.1
mo4 +5.6
...
ako mam urobit aby mi do samostatnej premennej nacitalo mo1 potom do dalsej premennej + alebo - a do dalsej to cislo?
Fórum › Pascal
Zaciatocnicky problem
Slo by to treba takto
readln(file,radek);
prvnipolozka=radek[1]+radek[2]+radek[3];
znamenko=radek[4]; { tady nevim , kdybys tam mel mezeru tak tady bude 5, a dalsi cisla by byly +1 }
val(radek[5]+radek[6]+radek[7],cislo,code);
Neni to asi nejefektivnější řešení ale je to to prví co mne napadlo ???
ps: neni to odladeny .
ja řešil něco podobného v delphi
readln(file,radek);
for i:=0 to length(radek) do if radek[i]=' ' then begin j:=i; break; end;
mo1:=strToFloat(copy(radek,j+1,length(radek-1));
...a tak dále
sice to vypadá hrozně,ale jde to modifikovat i pro složitější věci a navíc mě elegantnější řešení nenapadlo
Doporučuju spíš tohle:
program Nacitani;
const max = 20;
soubor = 'test.txt';
var cislo:array[1..max] of real;
txt:array[1..max] of string[4];
f:text;
i,j:integer;
begin
Assign(f,soubor);
Reset(f);
i:=0;
while (not Eof(f)) and (i<max) do
begin
i:=i+1;
read(f,txt[i]);
readln(f,cislo[i]);
writeln('text c.',i,': ',txt[i]);
writeln('cislo c.',i,': ',cislo[i]:3:3);
end;
Close(f);
readln;
end.
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 16 hostů
Moderátoři diskuze