Update 'a1/program.c'

This commit is contained in:
Anzhelika Nikolaieva 2023-11-01 14:07:20 +00:00
parent 448b25f0fe
commit 35e7eafe6e

View File

@ -14,7 +14,10 @@ int main() {
char code[MAX_SIZE]; char code[MAX_SIZE];
stack.size = 0; stack.size = 0;
fgets(code, sizeof(code), stdin); if (fgets(code, sizeof(code), stdin) == NULL) {
printf("Error reading input.\n");
return 1;
}
if (code[strlen(code) - 1] == '\n') { if (code[strlen(code) - 1] == '\n') {
code[strlen(code) - 1] = '\0'; code[strlen(code) - 1] = '\0';
@ -25,6 +28,10 @@ int main() {
char missing_closing[MAX_SIZE]; char missing_closing[MAX_SIZE];
int missing_count = 0; int missing_count = 0;
if (strlen(code) > MAX_SIZE) {
return 1;
}
for (int i = 0; code[i] != '\0'; i++) { for (int i = 0; code[i] != '\0'; i++) {
if (code[i] == '(' || code[i] == '[' || code[i] == '{' || code[i] == '<') { if (code[i] == '(' || code[i] == '[' || code[i] == '{' || code[i] == '<') {
if (stack.size < MAX_SIZE) { if (stack.size < MAX_SIZE) {
@ -47,7 +54,7 @@ int main() {
(code[i] == '>' && opening != '<')) { (code[i] == '>' && opening != '<')) {
printf("Crossed bracket %c in %d, expected %c\n", code[i], i, opening); printf("Crossed bracket %c in %d, expected %c\n", code[i], i, opening);
return 0; return 0;
} }
} }
} }