Hlavička funkce – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hlavička funkce – Pascal – Fórum – Programujte.comHlavička funkce – Pascal – Fórum – Programujte.com

 

Kadla
~ Anonymní uživatel
43 příspěvků
1. 9. 2007   #1
-
0
-

Ahoj, mam takovej problem, chci udelat funkci a jako parametr dat pole, chci ho pak pouzivat jako dvojrozmerny, ale nevim jak to v hlavicce programu nadeklarovar?

Nahlásit jako SPAM
IP: ...–
Kadla
~ Anonymní uživatel
43 příspěvků
1. 9. 2007   #2
-
0
-

a taky by me zajimalo, kdyz mam otestovat, zda matice lezi v intervalu od 0 do 1 jak to mam napsat.Matice je typu real.

Nahlásit jako SPAM
IP: ...–
Mircosoft+1
Věrný člen
1. 9. 2007   #3
-
0
-

2D pole jako parametr? Jde to, ale příslušný typ musíš definovat zvlášť, ne až v té závorce:

type pole=array[1..5,1..10] of real;


function neco(p:pole):...;
...



Matice není typu real. Typu real můžou být její prvky (viz předchozí deklaraci typu Pole). Matici projdeš dvojitým for-cyklem a u každého prvku otestuješ, jestli je větší nebo roven 0 a zároveň menší nebo roven 1, což by neměl být problém.

Nahlásit jako SPAM
IP: ...–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Kadla
~ Anonymní uživatel
43 příspěvků
1. 9. 2007   #4
-
0
-

To Mircosoft:Hele a jak pak vypisu tu funkci, ktera ma parametr 2D pole mého vlastního typu?

$APPTYPE CONSOLE}

uses
SysUtils;
type TPOLE=array[1..10, 1..10] of byte;
function obsahuje (N : integer; Pole : tpole) : boolean;
var
Cisla : set of byte;
i,j : integer;
begin
obsahuje:=true;
cisla:=[1..Sqr(N)];
for i:=1 to N
do for j:=1 to N
do begin
if (not Pole[i,j] in cisla) then obsahuje:=True else obsahuje:=False;
end;

end;
var
P : Tpole;
x : integer;
a,b : integer;
begin
read(x);
for a:=1 to x
do for b:=1 to x
do read(P[a,b]);
write(obsahuje(x,P)); //tady bych chtel vypsat tu funkci, ale takhle to asi nejde?
readln;
readln;
end.


Nahlásit jako SPAM
IP: ...–
Mircosoft+1
Věrný člen
2. 9. 2007   #5
-
0
-

Vypsat funkci? Snad vypsat návratovou hodnotu funkce, ne? To normálně jde, pro hodnotu typu boolean (což je tvůj případ) se na obrazovku vypíše buď "TRUE" nebo "FALSE". Ale z hlediska čitelnosti je pro uživatele lepší oklika přes if:

if obsahuje(x,P) then write('obsahuje') else write('neobsahuje');

Nahlásit jako SPAM
IP: ...–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
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žit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Hlavička — založil Martin

Hlavička — založil Levin

MPEG hlavička — založil Parcus

TCp hlavicka — založil kuca

Responsivní hlavička — založil Pavel

Moderátoři diskuze

 

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