From 96bf7af9ec99d172010f4a680f234afef9f59a5c Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Tue, 6 Oct 2020 14:41:36 +0530 Subject: [PATCH 1/5] added Hamming Code --- algorithms/Networks/Hamming_Code/README.md | 10 ++ .../Hamming_Code/hamming_code_reciever.cpp | 167 ++++++++++++++++++ .../Hamming_Code/hamming_code_sender.cpp | 139 +++++++++++++++ 3 files changed, 316 insertions(+) create mode 100644 algorithms/Networks/Hamming_Code/README.md create mode 100644 algorithms/Networks/Hamming_Code/hamming_code_reciever.cpp create mode 100644 algorithms/Networks/Hamming_Code/hamming_code_sender.cpp diff --git a/algorithms/Networks/Hamming_Code/README.md b/algorithms/Networks/Hamming_Code/README.md new file mode 100644 index 00000000..f892705d --- /dev/null +++ b/algorithms/Networks/Hamming_Code/README.md @@ -0,0 +1,10 @@ +# Hamming Code + +Sender Side: Input is the first character of your name or any other character you like. + +Reciever Side: Recieved codeword using TCP Socket. + +The reciever also serves the following functionalities:- +a) Prints Data recieved without error. +b) Prints Data recieved with error. + diff --git a/algorithms/Networks/Hamming_Code/hamming_code_reciever.cpp b/algorithms/Networks/Hamming_Code/hamming_code_reciever.cpp new file mode 100644 index 00000000..803fbdc5 --- /dev/null +++ b/algorithms/Networks/Hamming_Code/hamming_code_reciever.cpp @@ -0,0 +1,167 @@ +#include +#include +#include +#include +#include +#include +#include +#include + + +using namespace std; + +#define MAX 2048 +#define port 5200 + + +void flip(int &a) { + a=!a; +} + + +void revprint(int codeword[],int n) { + for(int i=n-1;i>=0;i--) { + cout<=1) { + cout<<"Hence flip bit "<=0;i--) { + if((i+1)!=1&&(i+1)!=2&&(i+1)!=4&&(i+1)!=8) { + message[j--]=codeword[i]; + } + } + + cout<<"Message : "; + revprint(message,8); + + int x=0; + for(int i=0;i<8;i++) { + if(message[i]==1) { + x+=(1<>ch; + + switch(ch) { + case 1:{ + cout<<"Recieved Message: "; + revprint(codeword,12); + decoded(codeword); + + cout<<"Meesage Recieved Successfully...!"< +#include +#include +#include +#include +#include + +using namespace std; + +#define MAX 500 +#define port 5200 + + +void tobinary(int a[],char c) { + int x=(int)c; + + cout<=0;i--) { + cout<=0;i--) { + if(a[i]==-1) { + a[i]=b[j]; + j--; + } + } +} + + +int main(){ + + int clientSocket , serverSocket , receiveMsgSize; + + clientSocket = socket(AF_INET , SOCK_STREAM , 0); // creating the socket + + if(clientSocket < 0){ + cout << "Creation of client socket failed" << endl; + return 0; + } + + struct sockaddr_in serverAddr , clientAddr; + + // providing socket with IP and port + serverAddr.sin_family = AF_INET; + serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); + serverAddr.sin_port = htons(port); + + if(connect(clientSocket , (struct sockaddr*) & serverAddr , sizeof(serverAddr)) < 0){ // connecting to the receiver + cout << "Connection Error..!" << endl; + return 0; + } + else{ + cout << "Connection Established..!" << endl; + } + + + char c; + cout<<"Enter the First letter of your name: "; + cin>>c; + + int binary[8]; + tobinary(binary,c); + + cout<<"The entered message in binary is: "; + revprint(binary,8); + + + int codeword[12]; + fillmessageintocodes(codeword,binary); + + + for(int i=0;i<4;i++) { + int count=0; + for(int j=0;j<12;j++) { + if((j+1)&(1< Date: Tue, 6 Oct 2020 14:46:47 +0530 Subject: [PATCH 2/5] updated README --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index dd64172d..8921f5b7 100644 --- a/readme.md +++ b/readme.md @@ -288,6 +288,7 @@ just a paper and pencil. - [Packet Sniffer](networking/) - [Determine Endianess](networking/) - [Validate IP](networking/) +- [Hamming Code](networking/Hamming_Code/) ## [Numerical Analysis](numerical-analysis) From 48a89a2eb975890154389d30aa0d0c8db966b158 Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Tue, 6 Oct 2020 14:48:39 +0530 Subject: [PATCH 3/5] updated README --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 8921f5b7..f9153c0b 100644 --- a/readme.md +++ b/readme.md @@ -288,7 +288,7 @@ just a paper and pencil. - [Packet Sniffer](networking/) - [Determine Endianess](networking/) - [Validate IP](networking/) -- [Hamming Code](networking/Hamming_Code/) +- [Hamming Code](networking/Hamming_Code) ## [Numerical Analysis](numerical-analysis) From 42f6419fca90c3070914371c9cea412cd797160b Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Tue, 6 Oct 2020 14:50:37 +0530 Subject: [PATCH 4/5] made network algorithms accesbile from README --- readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index f9153c0b..e429a9e3 100644 --- a/readme.md +++ b/readme.md @@ -285,10 +285,10 @@ just a paper and pencil. ## [Networking](networking) -- [Packet Sniffer](networking/) -- [Determine Endianess](networking/) -- [Validate IP](networking/) -- [Hamming Code](networking/Hamming_Code) +- [Packet Sniffer](Networks/) +- [Determine Endianess](Networks/) +- [Validate IP](Networks/) +- [Hamming Code](Networks/Hamming_Code) ## [Numerical Analysis](numerical-analysis) From 2e4526fc60e27429b65aa91a956a86d534efe558 Mon Sep 17 00:00:00 2001 From: "OEM Configuration (temporary user)" Date: Wed, 7 Oct 2020 05:26:14 +0530 Subject: [PATCH 5/5] added changes --- algorithms/Networks/Hamming_Code/README.md | 10 ---------- readme.md | 7 +++---- 2 files changed, 3 insertions(+), 14 deletions(-) delete mode 100644 algorithms/Networks/Hamming_Code/README.md diff --git a/algorithms/Networks/Hamming_Code/README.md b/algorithms/Networks/Hamming_Code/README.md deleted file mode 100644 index f892705d..00000000 --- a/algorithms/Networks/Hamming_Code/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Hamming Code - -Sender Side: Input is the first character of your name or any other character you like. - -Reciever Side: Recieved codeword using TCP Socket. - -The reciever also serves the following functionalities:- -a) Prints Data recieved without error. -b) Prints Data recieved with error. - diff --git a/readme.md b/readme.md index e429a9e3..dd64172d 100644 --- a/readme.md +++ b/readme.md @@ -285,10 +285,9 @@ just a paper and pencil. ## [Networking](networking) -- [Packet Sniffer](Networks/) -- [Determine Endianess](Networks/) -- [Validate IP](Networks/) -- [Hamming Code](Networks/Hamming_Code) +- [Packet Sniffer](networking/) +- [Determine Endianess](networking/) +- [Validate IP](networking/) ## [Numerical Analysis](numerical-analysis) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy