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 14. 03. 2010 11:36 — Editoval květoslav (14. 03. 2010 11:45)

květoslav
Příspěvky: 31
Reputace:   
 

Algoritmus, pravoúhlý trojúhelník

Zdravíčko, potřebuju poradit s algoritmem... jakžtakž jsem se prokousal k sestavení alg. pro zjištění zda mohou tři čísla tvořit pravoúhlý trojúhelník, teď ještě potřebuju aby se mi hodnoty načítaly z texťáku a nevím jak na to. Díky za odpověď )





program troj;

{$APPTYPE CONSOLE}

var
  i,n:integer;
  a,b,c:real;
  f:text;

begin
  { program pro zjisteni zda mohou tri strany tvorit pravouhly trojuhelnik }
  begin
    assign(f,'file1.txt');
    reset(f);
    for i:=1 to n do begin
    readln(a,b,c);
      if ((a*a)+(b*b)=c*c) or ((a*a)+(c*c)=b*b) or ((c*c)+(b*b)=a*a) then
        writeln('tvori pravouhly trojuhelnik')
      else
        writeln('netvori pravouhly trojuhelnik')
      end;
    end;
  writeln;
  writeln('Konec - ENTER!');
  readln;
end.




algoritmus funguje správně ale tři čísla (strany) musím zadávat ručně, takže chyba asi někde ve vstupu textového souboru...

Offline

  • (téma jako vyřešené označil(a) BrozekP)

#2 14. 03. 2010 11:44 — Editoval BrozekP (14. 03. 2010 11:45)

Pavel Brožek
Místo: Praha
Příspěvky: 5694
Škola: Informatika na MFF UK
Pozice: Student
Reputace:   194 
 

Re: Algoritmus, pravoúhlý trojúhelník

↑ květoslav:

Nemělo by být assignfile? Pak pomocí readln načítat po řádkách. Na konci je asi vhodné soubor uzavřít

var f:textfile;

{...}

assignfile(f, 'file.txt');
reset(f);

{...}

readln(f, a);
readln(f, b);
readln(f, c);

{...}

closefile(f);

Nemáš inicializovaný n, takhle ti to snad nemůže fungovat.

Offline

 

#3 14. 03. 2010 11:47 — Editoval BrozekP (14. 03. 2010 11:50)

Pavel Brožek
Místo: Praha
Příspěvky: 5694
Škola: Informatika na MFF UK
Pozice: Student
Reputace:   194 
 

Re: Algoritmus, pravoúhlý trojúhelník

Na prvním řádku souboru file1.txt bude číslo n - počet trojúhelníků a na dalších 3n řádcích budou strany trojúhelníků.

Code:

program troj;

{$APPTYPE CONSOLE}

var
  i,n:integer;
  a,b,c:real;
  f:textfile;

begin
  { program pro zjisteni zda mohou tri strany tvorit pravouhly trojuhelnik }
  begin
    assignfile(f,'file1.txt');
    reset(f);
    readln(f, n);

    for i:=1 to n do begin
      readln(f, a);
      readln(f, b);
      readln(f, c);

      if ((a*a)+(b*b)=c*c) or ((a*a)+(c*c)=b*b) or ((c*c)+(b*b)=a*a) then
        writeln('tvori pravouhly trojuhelnik')
      else
        writeln('netvori pravouhly trojuhelnik')
      end;
    end;

  closefile(f);
  writeln;
  writeln('Konec - ENTER!');
  readln;
end.

Offline

 

#4 14. 03. 2010 11:57

květoslav
Příspěvky: 31
Reputace:   
 

Re: Algoritmus, pravoúhlý trojúhelník

↑ BrozekP:v algoritmech jsem úplně na začátku a už v koncích :) tak díky za radu, vyzkouším.

Offline

 

#5 14. 03. 2010 12:08

květoslav
Příspěvky: 31
Reputace:   
 

Re: Algoritmus, pravoúhlý trojúhelník

↑ BrozekP:

dělalo to trochu neplechu, ale nakonec stačil tenhle zápis


---
for i:=1 to n do begin
readln(f,a,b,c);
---


každopádně díky za okamžitou pomoc ;)

Offline

 

#6 14. 03. 2010 12:09 — Editoval BrozekP (14. 03. 2010 12:09)

Pavel Brožek
Místo: Praha
Příspěvky: 5694
Škola: Informatika na MFF UK
Pozice: Student
Reputace:   194 
 

Re: Algoritmus, pravoúhlý trojúhelník

↑ květoslav:

Tady ale není problém s algoritmem, ale s prací se soubory. Podívej se do dokumentace, jak se má k textovým souborům přistupovat a číst z nich. Také je vhodné napsat, v čem programuješ :-).

Edit: není zač :-)

Offline

 

#7 17. 06. 2010 22:20 — Editoval majky124 (17. 06. 2010 22:20)

majky124
Zelenáč
Příspěvky: 7
Reputace:   
 

Re: Algoritmus, pravoúhlý trojúhelník

Ahoj prosim vás jak odvodím vzorec když je:
C:=SQRT(A^2 + B^2)

jak bude vypadat A:= ?
                          B:= ?

Offline

 

#8 18. 06. 2010 14:27

Docctor
Zelenáč
Příspěvky: 15
Reputace:   
 

Re: Algoritmus, pravoúhlý trojúhelník

majky124 napsal(a):

Ahoj prosim vás jak odvodím vzorec když je:
C:=SQRT(A^2 + B^2)

jak bude vypadat A:= ?
                          B:= ?

ze by A=SQRT(C^2 - B^2)
         B=SQRT(C^2 - B^2)

?? :)

Offline

 

#9 19. 06. 2010 11:36

majky124
Zelenáč
Příspěvky: 7
Reputace:   
 

Re: Algoritmus, pravoúhlý trojúhelník

Já jsem to tak napsal ale potom jsem tak nějak znejistil tak jsem si řekl že se zeptám ale jinak diky

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson