簡體   English   中英

在Ada中查找數組中的最大值

[英]Find Maximum Value in Array in Ada

我正在做一個Ada程序,有很多不同的函數搞亂數組,我得到了所有的排序函數,我現在停留在使用循環不變量檢索數組中的最大值來設計該函數的循環。 任何幫助?

簡單地循環整個數組怎么樣?

這樣的事情:

function Get_Maximum (Of : My_Array_Type) return Element_Type is
   Maximum : Element_Type := Of (Of'First);
begin
   for I in Of'First + 1 .. Of'Last loop
      if Of (I) > Maximum then
         Maximum := Of (I);
      end if;
   end loop;
   return Maximum;
end Get;

如果數組為空,則會引發異常,但如果需要這些情況,則將其留作讀者的練習。

對於未排序的數組,oenone是正確的,但正如您所說,您的排序函數正常工作,為什么不對數組進行排序,然后使用:

Maximum := Of(Of'Last);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM