array_single_eval.cvc 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. extern void printInt(int val);
  2. extern void printSpaces(int num);
  3. extern void printNewlines(int num);
  4. int ones = 0;
  5. int twos = 0;
  6. int one() {
  7. ones = ones + 1;
  8. return 1;
  9. }
  10. int two() {
  11. twos = twos + 1;
  12. return 2;
  13. }
  14. void printArray1D(int[n] a) {
  15. for (int i = 0, n) {
  16. printInt(a[i]);
  17. if (i != n - 1) printSpaces(1);
  18. }
  19. printNewlines(1);
  20. }
  21. void printArray2D(int[n, m] a) {
  22. for (int i = 0, n) {
  23. for (int j = 0, m) {
  24. printInt(a[i, j]);
  25. if (j != m - 1) printSpaces(1);
  26. }
  27. printNewlines(1);
  28. }
  29. }
  30. void printArray3D(int[n, m, o] a) {
  31. for (int i = 0, n) {
  32. for (int j = 0, m) {
  33. for (int k = 0, o) {
  34. printInt(a[i, j, k]);
  35. if (k != o - 1) printSpaces(1);
  36. }
  37. if (j != m - 1) printSpaces(2);
  38. }
  39. printNewlines(1);
  40. }
  41. }
  42. export int main() {
  43. int[two()] a = one();
  44. int[two(), two()] b = [[1, one()], [2, two()]];
  45. printArray1D(a);
  46. printNewlines(1);
  47. printArray2D(b);
  48. printNewlines(1);
  49. printInt(ones);
  50. printSpaces(1);
  51. printInt(twos);
  52. printNewlines(1);
  53. return 0;
  54. }