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?
Fórum › Pascal
Hlavička funkce
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.
Moje stránka.
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.
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');
Moje stránka.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
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