Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define DASH 1
- #define DOT 2
- #define END 3
- int map[26][5] = {
- {DOT, DASH, END}, // A
- {DASH, DOT, DOT, DOT, END}, // B
- {DASH, DOT, DASH, DOT, END}, // C
- {DASH, DOT, DOT, END }, // D
- {DOT, END }, // E
- {DOT, DOT, DASH, DOT, END}, // F
- {DASH, DASH, DOT, END }, // G
- {DOT, DOT, DOT, DOT, END}, // H
- {DOT, DOT, END }, // I
- {DOT, DASH, DASH, DASH, END}, // J
- {DASH, DOT, DASH, END }, // K
- {DOT, DASH, DOT, DOT, END}, // L
- {DASH, DASH, END }, // M
- {DASH, DOT, END }, // N
- {DASH, DASH, DASH, END }, // O
- {DOT, DASH, DASH, DOT, END}, // P
- {DASH, DASH, DOT, DASH, END}, // Q
- {DOT, DASH, DOT, END }, // R
- {DOT, DOT, DOT, END }, // S
- {DASH, END }, // T
- {DOT, DOT, DASH, END }, // U
- {DOT, DOT, DOT, DASH, END}, // V
- {DOT, DASH, DASH, END }, // W
- {DASH, DOT, DOT, DASH, END}, // X
- {DASH, DOT, DASH, DASH, END}, // Y
- {DASH, DASH, DOT, DOT, END} // Z
- };
- void printToMorse(char* text) {
- char k;
- int i = 0;
- while ((k = *(text+i)) != '\0') {
- if (k == ' ') {
- printf("\t");
- i++;
- continue;
- }
- if (isalnum(k) == 0) {
- i++;
- continue;
- }
- k = toupper(k);
- int letterIndex = (int) k - 65;
- int j = 0;
- while (1) {
- int bit = map[letterIndex][j];
- if (bit == DASH) {
- printf("-");
- }
- if (bit == DOT) {
- printf(".");
- }
- if (bit == END) {
- break;
- }
- j++;
- }
- printf(" ");
- i++;
- }
- printf("\n");
- }
- int main()
- {
- char tekst[] = "Hello world!";
- printToMorse(tekst);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement