From 01bac81513e85eb794a6ee97c51631540344380c Mon Sep 17 00:00:00 2001 From: pajjilykk Date: Tue, 21 Oct 2025 20:50:12 +0700 Subject: [PATCH] works --- lab_2/main_dynamic.c | 11 +++++------ lab_2/main_static.c | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lab_2/main_dynamic.c b/lab_2/main_dynamic.c index cc2d435..d317904 100644 --- a/lab_2/main_dynamic.c +++ b/lab_2/main_dynamic.c @@ -26,20 +26,19 @@ int main(int argc, char *argv[]) { int total = 0; char line[MAX_LINE]; - while (fgets(line, sizeof(line), fin) && cap > 0) { + while (fgets(line, sizeof(line), fin)) { if (line[0] == '\0' || line[0] == '\n') { fputs(line, fout); continue; } int key = (unsigned char)line[0]; - int repl_line = replace(line + 1, key, &cap); - total += repl_line; + if (cap > 0) { + int repl_line = replace(line, key, &cap); + total += repl_line; + } fputc(line[0], fout); fputs(line + 1, fout); } - while (fgets(line, sizeof(line), fin)) { - fputs(line, fout); - } fclose(fin); fclose(fout); dlclose(lib); printf("total_replacements: %d\n", total); diff --git a/lab_2/main_static.c b/lab_2/main_static.c index c2b645c..8a6df8e 100644 --- a/lab_2/main_static.c +++ b/lab_2/main_static.c @@ -19,20 +19,19 @@ int main(int argc, char *argv[]) { int total = 0; char line[MAX_LINE]; - while (fgets(line, sizeof(line), fin) && cap > 0) { + while (fgets(line, sizeof(line), fin)) { if (line[0] == '\0' || line[0] == '\n') { fputs(line, fout); continue; } int key = (unsigned char)line[0]; - int repl_line = replace_char_line(line + 1, key, &cap); - total += repl_line; + if (cap > 0) { + int repl_line = replace_char_line(line, key, &cap); + total += repl_line; + } fputc(line[0], fout); fputs(line + 1, fout); } - while (fgets(line, sizeof(line), fin)) { - fputs(line, fout); - } fclose(fin); fclose(fout); printf("total_replacements: %d\n", total); return 0;