Anonymní profil Adam – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Adam – Programujte.comAnonymní profil Adam – Programujte.com

 

Příspěvky odeslané z IP adresy 77.242.95.–

Adam
Delphi › Komplexní číslo
2. 5. 2014   #189781

chlape tak už to funguje. Byl chyba v deklaraci :)
 

program cteni_bodu_a_procedura01;
{$APPTYPE CONSOLE}

type
  TKOMPLEX=record
    re,im,Q:Real;
  end;
  POLE=array [1..100] of TKOMPLEX;

var
  I,N:Integer;
  f:text;
  P,P2,ROZDIL:real;

function VYPROZ(N:INTEGER;A:POLE):real;
  var
    ROZDIL:REAL;
  begin
    N:=1;
    for i:=1 to n do
      ROZDIL:=(A[I].re-A[I+1].re)+(A[I].im-A[I+1].im);
    VYPROZ:=ROZDIL;
  end;

var
vysledek:real;
A:POLE;
begin
assign(f,'souradnice01.txt');
reset(f);
read(f,N);
for I:=1 to N do
    Read(f,A[I].re,A[I].im);
writeln('Zadane trojice:');
writeln('****************************************');
writeln;
writeln(' realna slozka    x  imaginarni slozka  ');
writeln;
for I:=1 to N do
writeln('     ',A[I].re:8:2,'     ','x','     ',A[I].im:8:2,'     ');
writeln;
for i:=1 to N do
  if A[I].im<A[I+1].im then begin
    P:=A[I].im;
    P2:=A[I].re;
    A[I].im:=A[I+1].im;
    A[I].re:=A[I+1].re;
    A[I+1].im:=P;
    A[I+1].re:=P2;
  end;
for i:=1 to 2 do
  writeln(A[I].re:8:2,A[I].im:8:2);
WRITELN;
vysledek:=VYPROZ(N,A);
WRITELN;
writeln('Rozdil dvou komplexnich cisel: ');
write(vysledek:8:2);
readln;
ReadLn;
end.

Adam
Delphi › Komplexní číslo
2. 5. 2014   #189780

program cteni_bodu_a_procedura01;
{$APPTYPE CONSOLE}

type
  TKOMPLEX=record
    re,im,Q:Real;
  end;
  POLE=array [1..100] of TKOMPLEX;

var
  I,N:Integer;
  f:text;
  P,P2,ROZDIL:real;
  A:array [1..100] of TKOMPLEX;


function VYPROZ(N:INTEGER;A:POLE):real;
  var
    ROZDIL:REAL;
  begin
    N:=1;
    for i:=1 to n do
      ROZDIL:=(A[I].re-A[I+1].re)+(A[I].im-A[I+1].im);
    VYPROZ:=ROZDIL;
  end;

var
vysledek:real;
begin
assign(f,'souradnice01.txt');
reset(f);
read(f,N);
for I:=1 to N do
    Read(f,A[I].re,A[I].im);
writeln('Zadane trojice:');
writeln('****************************************');
writeln;
writeln(' realna slozka    x  imaginarni slozka  ');
writeln;
for I:=1 to N do
writeln('     ',A[I].re:8:2,'     ','x','     ',A[I].im:8:2,'     ');
writeln;
for i:=1 to N do
  if A[I].im<A[I+1].im then begin
    P:=A[I].im;
    P2:=A[I].re;
    A[I].im:=A[I+1].im;
    A[I].re:=A[I+1].re;
    A[I+1].im:=P;
    A[I+1].re:=P2;
  end;
for i:=1 to 2 do
  writeln(A[I].re:8:2,A[I].im:8:2);
WRITELN;
vysledek:=VYPROZ(N,A);
WRITELN;
writeln('Rozdil dvou komplexnich cisel: ');
write(vysledek:8:2);
readln;
ReadLn;
end.

Díky !
hledani maxima budu muset jeste zmenit, poněvadz budu program pak pouzivat pro textovy soubor, kde bude zadanych x-trojic komplexnich cisel.

[Error] cteni_bodu_a_procedura01.dpr(55): Incompatible types: 'POLE' and 'Array'

Stále při volání funkce mi to háže tuhletu syntaktickou chybu :-/
 

Adam
Delphi › Komplexní číslo
2. 5. 2014   #189760

Super :)
Už jsem s tím pohnul, teď jsem dodělal proceduru pro výpočet rozdílu dvou největších komplexních čísel ze zadané trojice.
Použil jsem textový soubor jak jsi poradil a funguje to !
Jen teď nedokáži danou proceduru přivolat v programu...Nevěděl by jsi kde je chyba prosím? :)
 

program cteni_bodu_a_procedura01;
{$APPTYPE CONSOLE}

type
  TKOMPLEX=record
    re,im,Q:Real;
  end;
  POLE=array [1..100] of TKOMPLEX;

var
  I,N:Integer;
  f:text;
  P,P2,ROZDIL:real;
  A:array [1..100] of TKOMPLEX;

  procedure VYPROZ(VAR N:INTEGER;A: POLE);
  var
    ROZDIL:REAL;
  begin
    N:=1;
    for i:=1 to n do
      ROZDIL:=(A[I].re-A[I+1].re)+(A[I].im-A[I+1].im);
  end;


begin
assign(f,'souradnice01.txt');
reset(f);
read(f,N);
for I:=1 to N do
    Read(f,A[I].re,A[I].im);
writeln('Zadane trojice:');
writeln('****************************************');
writeln;
writeln(' realna slozka    x  imaginarni slozka  ');
writeln;
for I:=1 to N do
writeln('     ',A[I].re:8:2,'     ','x','     ',A[I].im:8:2,'     ');
writeln;
for i:=1 to N do
  if A[I].im<A[I+1].im then begin
    P:=A[I].im;
    P2:=A[I].re;
    A[I].im:=A[I+1].im;
    A[I].re:=A[I+1].re;
    A[I+1].im:=P;
    A[I+1].re:=P2;
  end;
for i:=1 to 2 do
  writeln(A[I].re:8:2,A[I].im:8:2);
VYPROZ(N,A);
WRITELN;
writeln('Rozdil dvou komplexnich cisel: ');
write(ROZDIL:8:2);
readln;
ReadLn;
end.

Adam
Delphi › Komplexní číslo
1. 5. 2014   #189748

6
1 +3i
2 -4i
-5 +4i

Adam
Delphi › Komplexní číslo
1. 5. 2014   #189744

Respektive, zkouším alespoň přečíst prvky z textového souboru.


 

type
Tkomplex= record
 re,im:real;
end;

var

  a:array[1..100] of TKOMPLEX;
  i,n:integer;
  f:text;

begin
  assign(f,'komplex01.txt');
  reset(f);
  read(f,n);
  writeln('Zadana cisla: ');
  for i:=1 to n do
    read(f,a[i].re,a[i].im);
  for i:=1 to n do
    write(a[i].re:8:2,a[i].im);
  readln;
  readln;
end.

Adam
Delphi › Komplexní číslo
1. 5. 2014   #189743

Ahoj :)
potřeboval bych poradit, jak deklarovat jestliže v programu pracuji s komplexním číslem.
Deklaruji jako Typ záznam, zvlášť reálnou i imaginárná část, poněvadž s imaginární částí pak zvlášť počítám.
Něco je ovšem špatně, blbě chápu typ záznam podle mě a skripta ani google už nepomáhá. Takže velice budu rád za pomoc jakoukoliv :)

type
Tkomplex= record
 re,im:real;
end;

var

  a:array[1..100] of TKOMPLEX;
  i,n:integer;
  f:text;

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý