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 25. 04. 2012 23:07

lucyfish92
Zelenáč
Příspěvky: 1
Reputace:   
 

tisk do souboru

program načte přirozené číslo N (N\le 20) a dále prvky celočíselné čtvercové matice řádu N. Načtenou matici vypíše, prvky těsně nad hlavní diagonálou a těsně pod hlavní diagonálou vynuluje a výslednou matici vypíše. Vstupní údaje čteny z předem připraveného textového souboru Prog2vst.txt a výstup programu bude zaznamenán do souboru Prog2vys.txt.

Vytisklo se mi jenom zadej pocet radku(sloupcu) ctvercove matice a ta matice už ne. Nemůžu najít chybu. moc vás prosím o radu.


program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var i,j,m,n:integer;
      vstup,vystup:text
    a:array[1..100,1..100] of real;
begin
assign(Vstup,'Prog2vst.rft');
assign(Vystup,'Prog2vys.rft');
reset(Vystup);
rewrite(Vystup);
writeln(Vystup,'zadej pocet radku(sloupcu) ctvercove matice');
readln(Vstup,m);
for i:= 1 to m do
for j:= 1 to m do
begin
write(Vystup,'zadej prvek[',i,',',j,']:');
readln (Vstup,a[i,j]);
end;

for i:= 1 to m do
begin
for j:= 1 to m do
write(Vystup,a[i,j]:8:0);
writeln(Vystup);
end;
writeln(Vystup);

for i:= 1 to m do
for j:= 1 to m do
if (i<>j) and (i<j) then a[i,j]:=0;

for i:= 1 to m do
for j:= 1 to m do
if (i<>j) and (i>j) then a[i,j]:=0;

for i:= 1 to m do
begin
for j:= 1 to m do
write(Vystup,a[i,j]:8:0);
writeln(Vystup);
end;
writeln(Vystup);

readln(Vstup);
end.

Offline

 

#2 28. 04. 2012 09:01 — Editoval Sulfan (28. 04. 2012 09:03)

Sulfan
Příspěvky: 373
Reputace:   23 
 

Re: tisk do souboru

Ahoj,
Tak rozhodně je špatně dělat dva příkazy s jedním souborem. Máš tam za sebou:

reset(Vystup);
rewrite(Vystup);

Správně by mělo být

$\text{reset(Vstup);}$ ... otevřeme soubor pro čtení
$\text{rewrite(Vystup);}$ ... zpřístupní soubor pro zápis

Na konci programu je vždy nutné soubory zavřít, jinak do nich data nemusí být korektně uložena. Vždy je potřeba použít příkaz

$\text{close(Vystup);}$
$\text{close(Vstup);}$

Zkus si program upravit a zjistit, jestli teď nebude fungovat lépe.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson