- Luck Dragon: Óraátállítás
- Doky586: Windows telepítés utáni beállítások
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Ismerkedés a Zyxel NSA325 v2-vel
- bambano: Bambanő háza tája
- eBay-es kütyük kis pénzért
- Luck Dragon: MárkaLánc
Új hozzászólás Aktív témák
-
dany27
őstag
válasz
Jester01
#2982
üzenetére
Íme:
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#include<string.h>
#define ESC 27
#define ENTER 13
#define BS 8
typedef struct ag{
char betu;
struct ag *jobb,*bal;
} Fa;
Fa* uj()
{
Fa* elem=(Fa*)malloc(sizeof(Fa));
elem->bal=NULL;
elem->jobb=NULL;
return elem;
}
void insert(Fa* root, char betu, char *kod)
{
Fa *hely, *elozo;
int i=0;
hely=root;
while (kod[i]!='\0')
{
elozo=hely;
if (kod[i]=='.')
hely=hely->jobb;
else
hely=hely->bal;
if (hely==NULL)
{
hely=uj();
if (kod[i]=='.')
elozo->jobb=hely;
else
elozo->bal=hely;
}
i++;
}
hely->betu=betu;
}
void check(Fa *root,char kod[7])
{
Fa *hely;
int i=0;
hely=root;
while(kod[i]!='\0' && hely!=NULL)
{
if(kod[i]=='.')
hely=hely->jobb;
else
hely=hely->bal;
i++;
}
if(hely!=NULL)
printf("\n%c",hely->betu);
else
printf("\nA megadott morse kod helytelen!");
}
void fill(Fa* root)
{
insert(root, 'A', ".-");
insert(root, 'B', "-...");
insert(root, 'C', "-.-.");
insert(root, 'D', "-..");
insert(root, 'E', ".");
insert(root, 'F', "..-.");
insert(root, 'G', "--.");
insert(root, 'H', "....");
insert(root, 'I', "..");
insert(root, 'J', ".---");
insert(root, 'K', "-.-");
insert(root, 'L', ".-..");
insert(root, 'M', "--");
insert(root, 'N', "-.");
insert(root, 'O', "---");
insert(root, 'P', ".--.");
insert(root, 'Q', "--.-");
insert(root, 'R', ".-.");
insert(root, 'S', "...");
insert(root, 'T', "-");
insert(root, 'U', "..-");
insert(root, 'V', "...-");
insert(root, 'W', ".--");
insert(root, 'X', "-..-");
insert(root, 'Y', "-.--");
insert(root, 'Z', "--..");
insert(root, '0', "-----");
insert(root, '1', ".----");
insert(root, '2', "..---");
insert(root, '3', "...--");
insert(root, '4', "....-");
insert(root, '5', ".....");
insert(root, '6', "-....");
insert(root, '7', "--...");
insert(root, '8', "---..");
insert(root, '9', "----.");
insert(root, '.', ".-.-.-");
insert(root, ',', "--..--");
insert(root, ':', "---...");
insert(root, '?', "..--..");
insert(root, '-', "-....-");
insert(root, '/', "-..-.");
insert(root, '(', "-.--.-");
insert(root, '@', ".--.-.");
insert(root, '=', "-...-");
}
void clreol()
{
int i;
printf("\r");
for(i=1;i<80;i++)
{
printf(" ");
}
printf("\r");
}
void felszabadit(Fa *root)
{
if (root==NULL)
return;
felszabadit(root->jobb);
felszabadit(root->bal);
free(root);
}
int main()
{
Fa* root=uj();
char beolv[7];
int index=0;
int key=0;
fill(root);
printf("Morse kod ellenorzo! Adatbevitel megszakitalsa az ESC lenyomasaval!\n");
printf("Morse kod: ");
do
{
key=getch();
if(((key>=45) && (key<=46)) && (index<6))
{
beolv[index]=(char)key;
index++;
printf("%c",(char)key);
}
else if(key==BS && strlen(beolv)>0)
{
beolv[index-1]=(char)0;
index--;
clreol();
printf("Morse kod: %s",beolv);
}
}while((key!=ESC) && (key!=ENTER || index==0));
beolv[index]='\0';
if(key==ENTER)
check(root,beolv);
else
printf("Adatbevitel megszakitva");
felszabadit(root);
return 0;
}Ezzel próbáljátok ki:
.-. Ez elvileg R betűt ad ami helyes.
.-.- Ez G-t ad ami nem helyes mivel a G morse kódja --. és ha ezt beírom erre is G-t ad![ Módosította: #65675776 ]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Yettel topik
- Apple MacBook
- ThinkPad (NEM IdeaPad)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen okostelefont vegyek?
- Poco F8 Ultra – forrónaci
- VoLTE/VoWiFi
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Luck Dragon: Óraátállítás
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- G.Skill Aegis DDR4 16GB CL16 3200MHz Gaming Series
- Magyar menüs Saeco Picobaristo OTC tejtartállyal
- ASUS ROG Zephyrus GA503QM / Ryzen 7 5800HS / 32GB RAM / 1TB SSD / RTX 3060 / 15,6 WQHD 165Hz
- Samsung Galaxy S25 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 11 Pro 64GB, Kártyafüggetlen, 1 Év Garanciával
- Hp, Dell gyári 65W USB-C Type-C töltők, tápegységek
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Raktáron lévó 1851-es lapok! Garanciás termékek! Részletfizetésre is!!! ÉRDEKLŐDJ!!
- MSI Thin GF63 12VF RTX 4060 / 144Hz / SZINTE ÚJ!
- AKCIÓ! Asrock B450M R5 5600X 16GB DDR4 512GB SSD RTX 3070 8GB Zalman T3 Plus FSP 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
