在Ada中创建一个空数组

问题描述

我正在尝试用Python编写与以下语句等效的Ada: L = [[[i] for i in range(n)]

我正在解决一个动态编程问题,我的计划是,如果第i个数组中的元素少于第j个数组,则最终将L内第j个数组的内容复制到第i个数组(j

我发现了如何通过以相反的顺序定义其范围来创建一个空数组。因此,例如arr2将是一个空数组,创建如下:

arr2:Integer的array(2..1);

我的问题是,如何定义更大的数组L以包括n个此类arr2数组?

请让我知道。

更新:使用以下答案,我能够使其正常工作。 这是我的代码。

package Integer_Vectors is new Ada.Containers.Vectors
    (Index_Type   => Natural,Element_Type => Integer);

    N: Integer;

    Array_Of_Vectors : array(1 .. N) of Integer_Vectors.Vector := (others => Integer_Vectors.Empty_Vector);

    Input_Sequence: Integer_Vectors.Vector;

    Max: Integer_Vectors.Vector;

    Input_List : String := Get_Line;

    IntCast : Integer;

    Last : Positive := 1;
    
    begin

    while Last < Input_List'Last loop
        Get(Input_List(Last..Input_List'Last),IntCast,Last);
        Input_Sequence.Append(IntCast);
        Last := Last + 1;
    end loop;
    
    N := 0;

    for i of Input_Sequence loop
        N := N + 1;
    end loop;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)