小编evi*_*ate的帖子

Ada:访问Real_Matrix中的第一个元素,其中包含一行和一列

问题陈述

我有一个Real_Matrix,有一行和一列.我想评估第一列第一列上单个元素的值.当我尝试使用:Matrix(I,J)语法访问Matrix时,我收到错误.见下文:

with Ada.Numerics.Real_Arrays; use Ada.Numerics.Real_Arrays;
with Ada.Text_IO;              use Ada.Text_IO;

procedure Matrix is

   ------------------------------------
   -- Real_Matrix Division Operation --
   ------------------------------------

   function "/" (Left  : Real_Matrix;
                 Right : Real_Matrix) return Real_Matrix
   is
   begin
      return Left * Inverse(Right);
   end "/";

   ? : Real_Matrix := ( ( Integer'First => 1.0 ),
                        ( Integer'First => 2.0 ) );
   ? : Real_Matrix := ( ( Integer'First => 3.0 ),
                        ( Integer'First => 4.0 ) );

begin

   -- This operation returns an matrix with one …
Run Code Online (Sandbox Code Playgroud)

ada

2
推荐指数
1
解决办法
101
查看次数

Ada:数组范围内的for循环索引具有意外值

问题陈述

我想迭代矩阵中的每个元素并显示:

  • 元素价值
  • 元素索引(I,J)

下面的代码给出了以下输出:

(-2147483648, -2147483648) =  1.00000E+00
(-2147483648, -2147483647) =  2.00000E+00
(-2147483648, -2147483646) =  3.00000E+00
(-2147483647, -2147483648) =  4.00000E+00
(-2147483647, -2147483647) =  5.00000E+00
(-2147483647, -2147483646) =  6.00000E+00
Run Code Online (Sandbox Code Playgroud)

我希望看到1而不是-2147483648和2而不是-2147483647.

示例代码

with Ada.Numerics.Real_Arrays; use Ada.Numerics.Real_Arrays;
with Ada.Text_IO;              use Ada.Text_IO;

procedure Index is
   Matrix : Real_Matrix := (( 1.0, 2.0, 3.0 ),
                            ( 4.0, 5.0, 6.0 ));
begin
   for I in Matrix'Range(1) loop
      for J in Matrix'Range(2) loop
         Put_Line("(" & Integer'Image(I) & ", " &
                   Integer'Image(J) & ") = " & …
Run Code Online (Sandbox Code Playgroud)

ada matrix

1
推荐指数
1
解决办法
506
查看次数

为什么此代码不会生成约束错误或打印正数?

我希望这段代码能够生成约束错误或打印正数.为什么这段代码也没有?

WITH ADA.TEXT_IO;
USE  ADA.TEXT_IO;

PROCEDURE OVERFLOW IS
    PROCEDURE P (I: POSITIVE) IS
        X: INTEGER := INTEGER'LAST;
    BEGIN
        X := (X + I) / 2;
        PUT_LINE (INTEGER'IMAGE (X) & " SHOULD BE POSITIVE");
    END;
BEGIN
    P(10);
END;
Run Code Online (Sandbox Code Playgroud)

ada

1
推荐指数
1
解决办法
100
查看次数

标签 统计

ada ×3

matrix ×1