array_single_eval.cvc 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. int[2, 3] c = [one(), two()];
  46. int[2, 3, 3] d = [one(), two()];
  47. printArray1D(a);
  48. printNewlines(1);
  49. printArray2D(b);
  50. printNewlines(1);
  51. printArray2D(c);
  52. printNewlines(1);
  53. printArray3D(d);
  54. printNewlines(1);
  55. printInt(ones);
  56. printSpaces(1);
  57. printInt(twos);
  58. printNewlines(1);
  59. return 0;
  60. }