Untitled
unknown
plain_text
a year ago
1.2 kB
3
Indexable
#include <stdio.h> void encode() { char ch; while ((ch = getchar()) != '\n' && ch != EOF) { if (ch >= ' ' && ch <= '~') { // Печатаемые символы ASCII printf("%02X ", ch); // Вывод в шестнадцатеричном формате } else { printf("n/a "); } } } void decode() { char ch1, ch2; while ((ch1 = getchar()) && (ch2 = getchar())) { if (ch1 == '\n' || ch2 == '\n' || ch1 == EOF || ch2 == EOF) break; if (ch1 >= '0' && ch1 <= '9') ch1 = ch1 - '0'; else if (ch1 >= 'A' && ch1 <= 'F') ch1 = ch1 - 'A' + 10; else { printf("n/a "); continue; } if (ch2 >= '0' && ch2 <= '9') ch2 = ch2 - '0'; else if (ch2 >= 'A' && ch2 <= 'F') ch2 = ch2 - 'A' + 10; else { printf("n/a "); continue; } putchar((ch1 << 4) + ch2); getchar(); // Пропуск пробела } } int main(int argc, char *argv[]) { if (argc != 2) { printf("n/a\n"); return 1; } if (argv[1][0] == '0') { encode(); } else if (argv[1][0] == '1') { decode(); } else { printf("n/a\n"); return 1; } return 0; }
Editor is loading...
Leave a Comment