Enviado em 09/11/2018 - 16:07h
Desenvolva um programa que receba uma frase qualquer e codifique para o código morse correspondente. Assuma que os traços serão dados pelo caracter ’-’ e os pontos serão dados pelo caracter ’o’. Usando string. e tambem fazer decodificador e codificadorEnviado em 09/11/2018 - 16:50h
Você vai precisar criar um mapa com a relação de caracteres e código, depois basta caminhar na string e recuperar cada caractere.Enviado em 10/11/2018 - 22:27h
Bom eu fiz esse algoritmo sem string porém não consigo fazer o decodificador.Enviado em 11/11/2018 - 11:56h
na verdade eu pensei numa matriz ...#include <stdio.h> #define ROW (36) #define COL (2) int main(void) { int i, j; const char * matrix[ROW][COL] = { {"A", "o-"}, {"B", "-ooo"}, {"C", "-o-o"}, {"D", "-oo"}, {"E", "o"}, {"F", "oo-o"}, {"G", "--o"}, ... }; for(i = 0; i < ROW; i++){ for(j = 0; j < COL; j++){ printf("matrix[%d][%d] is %s\n", i, j, matrix[i][j]); } } return 0; }
Enviado em 11/11/2018 - 17:52h
#include <stdio.h>Enviado em 12/11/2018 - 13:37h
Achei interessante o tópico.const char *tomorse(unsigned char c){ // O código Morse define representações para letras sem acento, algarismos // e uns poucos sinais de pontuação e letras acentuadas. A tabela abaixo // associa os code points de caracteres do ISO-8859-1 (subconjunto do Unicode // superconjunto do ASCII com oito bits e que inclui algumas letras acentuadas) // a strings, segundo a codificação Morse mais comum. Caracteres sem corres- // pondente no código Morse produzem um string vazia, e o sinalizador EOF // produz um ponteiro nulo. // Fontes: https://morsecode.scphillips.com/morse2.html, https://en.wikipedia.org/wiki/Morse_code // Nota: não incluí suporte para abreviaturas e códigos de procedimentos. static const char _MORSE_TO_STRING[256][9]={ // Caracteres de 0 a 31 são os caracteres de controle (faixa C0). // '\000' '\001' '\002' '\003' '\004' '\005' '\006' '\007' "", "", "", "", "", "", "", "", // '\010' '\011' '\012' '\013' '\014' '\015' '\016' '\017' "", "", "", "", "", "", "", "", // '\020' '\021' '\022' '\023' '\024' '\025' '\026' '\027' "", "", "", "", "", "", "", "", // '\030' '\031' '\032' '\033' '\034' '\035' '\036' '\037' "", "", "", "", "", "", "", "", // ' ' '!' '"' '#' '$' '%' '&' '\'' " ", "-.-.--", ".-..-.", "", "", "", ".-...", ".----.", // '(' ')' '*' '+' ',' '-' '.' '/' "-.--.", "-.--.-", "", ".-.-.", "--..--", "-....-", ".-.-.-", "-..-.", // '0' '1' '2' '3' '4' '5' '6' '7' "-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", // '8' '9' ':' ';' '<' '=' '>' '?' "---..", "----.", "---...", "", "", "-...-", "", "..--..", // '@' 'A' 'B' 'C' 'D' 'E' 'F' 'G' ".--.-.", ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", // 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", // 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", // 'X' 'Y' 'Z' '[' '\\' ']' '^' '_' "-..-", "-.--", "--..", "", "", "", "", "", // Para letras minúsculas, uso os mesmos códigos das maiúsculas. // '`' 'a' 'b' 'c' 'd' 'e' 'f' 'g' "", ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", // 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", // 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", // 'x' 'y' 'z' '{' '|' '}' '~' '\177' "-..-", "-.--", "--..", "", "", "", "", "........", // Livre interpretação minha de DEL ('\177') como o código telegráfico para ignorar/apagar última palavra. // Caracteres de 128 a 159 são os caracteres de controle (faixa C1). // '\200' '\201' '\202' '\203' '\204' '\205' '\206' '\207' "", "", "", "", "", "", "", "", // '\210' '\211' '\212' '\213' '\214' '\215' '\216' '\217' "", "", "", "", "", "", "", "", // '\220' '\221' '\222' '\223' '\224' '\225' '\226' '\227' "", "", "", "", "", "", "", "", // '\230' '\231' '\232' '\233' '\234' '\235' '\236' '\237' "", "", "", "", "", "", "", "", // '\240' '¡' '¢' '£' '¤' '¥' '\246' '§' "", "", "", "", "", "", "", "", // '¨' '©' 'ª' '«' '¬' '\255' '®' '\257' "", "", "", "", "", "", "", "", // '°' '±' '²' '³' '´' 'µ' '¶' '·' "", "", "", "", "", "", "", "", // '¸' '¹' 'º' '»' '¼' '½' '¾' '¿' "", "", "", "", "", "", "", "", // 'À' 'Á' 'Â' 'Ã' 'Ä' 'Å' 'Æ' 'Ç' ".--.-", "", "", "", ".-.-", "", "", "-.-..", // 'È' 'É' 'Ê' 'Ë' 'Ì' 'Í' 'Î' 'Ï' ".-..-", "..-..", "", "", "", "", "", "", // '\320' 'Ñ' 'Ò' 'Ó' 'Ô' 'Õ' 'Ö' '×' "", "--.--", "", "----.", "", "", "", "", // 'Ø' 'Ù' 'Ú' 'Û' 'Ü' 'Ý' 'Þ' 'ß' "", "", "", "", "..--", "", ".--..", "", // 'à' 'á' 'â' 'ã' 'ä' 'å' 'æ' 'ç' ".--.-", "", "", "", ".-.-", "", "", "-.-..", // 'è' 'é' 'ê' 'ë' 'ì' 'í' 'î' 'ï' ".-..-", "..-..", "", "", "", "", "", "", // 'ð' 'ñ' 'ò' 'ó' 'ô' 'õ' 'ö' '÷' "", "--.--", "", "----.", "", "", "", "", // 'ø' 'ù' 'ú' 'û' 'ü' 'ý' 'þ' 'ÿ' "", "", "", "", "..--", "", ".--..", "" }; return _MORSE_TO_STRING[c]; }
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Dock do debian está muito pequena (1)
Instalei Windows 11 e não alterou o Grub do Debian (0)
Linux Mint (21.2) não reconhece teclado mecanico RASEC da PCYES (2)