History of Idiom 20 > diff from v26 to v27
Edit summary for version 27 by :
New Ada implementation by user [Smaehtin]
New Ada implementation by user [Smaehtin]
↷
Version 26
2015-11-30, 12:37:26
Version 27
2016-02-17, 20:37:05
Idiom #20 Return two values
Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.
Idiom #20 Return two values
Implement a function search which looks for item x in a 2D matrix m.
Return indices i, j of the matching cell.
Think of the most idiomatic way in the language to return the two values at the same time.
Code
type Matrix is array (Positive range <>, Positive range <>) of Integer;
function Search (M : Matrix; X : Integer; I, J : out Integer) return Boolean is
begin
for K in M'Range (1) loop
for L in M'Range (2) loop
if M (K, L) = X then
I := K;
J := L;
return True;
end if;
end loop;
end loop;
return False;
end Search;