diff --git a/c_modern_approach/Arrays/projects/3_project.c b/c_modern_approach/Arrays/projects/3_project.c new file mode 100644 index 0000000..6b6bb5e --- /dev/null +++ b/c_modern_approach/Arrays/projects/3_project.c @@ -0,0 +1,45 @@ +#include +#include + +#define MAX_STRING_SIZE 100 + +int main() { + char input[MAX_STRING_SIZE] = {}; + char filtered[MAX_STRING_SIZE] = {}; + int last_real_char = 0; + printf("Enter message: "); + fgets(input, MAX_STRING_SIZE, stdin); + for (int i = 0; i < MAX_STRING_SIZE - 1; i++) { + char current_char = toupper(input[i]); + if (current_char != 0) { + last_real_char = i; + } + switch (current_char) { + case 'A': + filtered[i] = '4'; + break; + case 'B': + filtered[i] = '8'; + break; + case 'E': + filtered[i] = '3'; + break; + case 'I': + filtered[i] = '1'; + break; + case 'O': + filtered[i] = '0'; + break; + case 'S': + filtered[i] = '5'; + break; + default: + filtered[i] = current_char; + break; + } + } + for (int i = last_real_char; i < last_real_char + 10; i++) { + filtered[i] = '!'; + } + printf("Entered message: %s", filtered); +}