Home
   News
   About the project
   Language
   Compiler download
   Test suite
   Blog on the programming model
   Zonnon @ OCP Forum
   Collection of examples

TEST: 17EXSADDLEPOINT-C

category

status

Compilation and execution results for Windows (first) and Mono (second)
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 18:06
Compilation: SUCCESS
Execution: NOT RUN
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 22:22
Compilation: SUCCESS
Execution: NOT RUN
(0, 0) Assembly reference not resolved: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.

code

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
 (*************************************************************************  
 Search of the value of the game and it's saddle points.  
   
 Search of the value of a zero-sum game and it's saddle points,  
 where M is the kernel of the game.  
 (In pure strategies)  
   
 Method description: http://planning.cs.uiuc.edu/node455.html  
   
 Author: Nina Gonova                       
 Last change: 13.04.2008  
 **************************************************************************)  
   
 module Main;  
   
 type TypeOfArray = integer;  
 type Matrix = array {math} *,* of TypeOfArray;  
 type Vector = array {math} * of TypeOfArray;  
   
 const n = 2;   
 const m = 3;  
   
 var   
      M: Matrix;   
      NRow, NCol: integer; (*NRow = number of rows of M, NCol = number of columns of M*)  
      i, j: integer;  
      MaxMin, MinMax: TypeOfArray;  
      V, N: Vector;  
   
 begin  
      writeln("Input NRow");  
      readln(NRow);  
      writeln("Input NCol");  
      readln(NCol);  
      M := new Matrix(NRow, NCol);  
        
      writeln("Input M[i, j]");  
      for i := 0 to NRow - 1 do  
           for j := 0 to NCol - 1 do  
                readln (M[i, j]);  
           end;  
      end;  
        
      (*MaxMin*)  
      V := new Vector(NRow);  
      for i := 0 to NRow - 1 do  
           V[i] := min(M[i, ..]);  
      end;  
      MaxMin := max(V);  
        
      (*MinMax*)  
      V := new Vector(NCol);  
      for j := 0 to NCol - 1 do  
           V[j] := max(M[.., j]);  
      end;  
      MinMax := min(V);  
        
      if MaxMin = MinMax then  
           writeln ("Saddle point exists, value of the game = ");  
           writeln (MaxMin);  
           writeln ("Positions:");  
           for i := 0 to NRow - 1 do  
                for j := 0 to NCol - 1 do  
                     if (M[i, j] = MaxMin) & (max(M[.., j]) = M[i, j]) & (min(M[i, ..]) = M[i, j])  
                     then  
                          write (i);  
                          writeln (j);  
                     end;  
                end;  
           end;  
      else  
           writeln ("No saddle point");  
      end;  
        
      readln;  
 end Main. 

information

  • PASSED - overall positive decision about the test
  • NOT PASSED - overall negative decision about the test
  • SUCCESS - compilation / execution successful
  • ERROR - compilation failed with normal syntax or semantic error
  • ABORT - compilation failed because of an internal compiler error
  • NOT RUN - the test was not / not supposed to be executed
  • FAIL - execution failed
Copyright © 2010 ETH Zurich, Switzerland