From a4d2f90f18b613763a1a1d347d17f444782e7868 Mon Sep 17 00:00:00 2001 From: nk365yf Date: Mon, 20 Oct 2025 19:37:43 +0200 Subject: [PATCH] :a: --- a1/prog | Bin 16360 -> 16312 bytes a1/program.c | 27 ++++++++++++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/a1/prog b/a1/prog index 6c5e97397bf2a998e6fa32d47e55223edbed51e0..521b61e471a18d01f8ff5e2c5f2a9fb8d189ac6b 100755 GIT binary patch delta 2601 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 g?pX@00Qc;2dt<4l`vg|bE>E?VYtjS??^I0w7X') { - top--; + if (top >= 0 && c == getExpectedClosing(stack[top])) { + top--; + } else { + printf("Crossed bracket %c in %d, expected %c\n", + c, err, (top >= 0) ? getExpectedClosing(stack[top]) : '?'); + return 0; + } } } + char c = input[err - 1]; if (c == ')' || c == ']' || c == '}' || c == '>') { - if (top <-1) { - printf("Unexpected closing bracket %c in %d\n", c, err-1); - } else { - printf("Crossed bracket %c in %d, expected %c \n", c, err-1, getExpectedClosing(stack[err-2])); + if (top < -1) { + printf("Unexpected closing bracket %c in %d\n", c, err); } } else { - printf("Missing closing brackets: "); + printf("Missing closing brackets: "); for (int i = top; i > -1; i--) { printf("%c", getExpectedClosing(stack[i])); } printf("\n"); - } + } } } else { printf("Error reading input\n");