Removed A4 & C11 from testing branch.
This commit is contained in:
parent
9ee44a1a76
commit
96fe7c0f7e
@ -1,103 +0,0 @@
|
|||||||
#include <iostream>
|
|
||||||
#include <cmath>
|
|
||||||
#include <vector>
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
// Function to calculate the number of parity bits needed
|
|
||||||
int calculateParityBits(int dataBits) {
|
|
||||||
int parityBits = 0;
|
|
||||||
while (pow(2, parityBits) < dataBits + parityBits + 1) {
|
|
||||||
parityBits++;
|
|
||||||
}
|
|
||||||
return parityBits;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Function to encode the data using Hamming code
|
|
||||||
vector<int> encodeData(vector<int> data) {
|
|
||||||
int dataBits = data.size();
|
|
||||||
int parityBits = calculateParityBits(dataBits);
|
|
||||||
vector<int> encoded(dataBits + parityBits, 0);
|
|
||||||
|
|
||||||
// Set the data bits
|
|
||||||
int j = 0;
|
|
||||||
for (int i = 0; i < encoded.size(); i++) {
|
|
||||||
if (i + 1 == pow(2, j)) {
|
|
||||||
j++;
|
|
||||||
} else {
|
|
||||||
encoded[i] = data[i - j];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calculate and set the parity bits
|
|
||||||
for (int i = 0; i < parityBits; i++) {
|
|
||||||
int parityBit = pow(2, i);
|
|
||||||
int sum = 0;
|
|
||||||
for (int j = parityBit - 1; j < encoded.size(); j += 2 * parityBit) {
|
|
||||||
for (int k = 0; k < parityBit; k++) {
|
|
||||||
if (j + k < encoded.size()) {
|
|
||||||
sum += encoded[j + k];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
encoded[parityBit - 1] = sum % 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
return encoded;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Function to check for errors in the encoded data
|
|
||||||
int checkForErrors(vector<int> encoded) {
|
|
||||||
int parityBits = calculateParityBits(encoded.size() - calculateParityBits(encoded.size()));
|
|
||||||
int errorPosition = 0;
|
|
||||||
|
|
||||||
for (int i = 0; i < parityBits; i++) {
|
|
||||||
int parityBit = pow(2, i);
|
|
||||||
int sum = 0;
|
|
||||||
for (int j = parityBit - 1; j < encoded.size(); j += 2 * parityBit) {
|
|
||||||
for (int k = 0; k < parityBit; k++) {
|
|
||||||
if (j + k < encoded.size()) {
|
|
||||||
sum += encoded[j + k];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
errorPosition += (sum % 2) * parityBit;
|
|
||||||
}
|
|
||||||
|
|
||||||
return errorPosition;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
int dataBits;
|
|
||||||
cout<<"Enter the number of data bits:\t";
|
|
||||||
cin >> dataBits;
|
|
||||||
|
|
||||||
vector<int> data(dataBits);
|
|
||||||
cout<<endl<<"NOTE: Make sure the bits are entered in binary format, separated by spaces.\nEg. 1 0 0 1 (for 4 data bits).";
|
|
||||||
cout<<endl<<"Enter the data bits:\t";
|
|
||||||
for (int i = 0; i < dataBits; i++) {
|
|
||||||
cin >> data[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
vector<int> encoded = encodeData(data);
|
|
||||||
cout<<endl<<"--------------------"<<endl;
|
|
||||||
cout<<"Encoded bits are:\t";
|
|
||||||
for (int bit : encoded) {
|
|
||||||
cout << bit << " ";
|
|
||||||
}
|
|
||||||
cout<<endl<<"--------------------"<<endl;
|
|
||||||
|
|
||||||
cout<<endl<<"Enter the encoded bits:\t";
|
|
||||||
vector<int> receivedEncoded(encoded.size());
|
|
||||||
for (int i = 0; i < encoded.size(); i++) {
|
|
||||||
cin >> receivedEncoded[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
int errorPosition = checkForErrors(receivedEncoded);
|
|
||||||
if (errorPosition == 0) {
|
|
||||||
cout<<"No errors detected."<<endl;
|
|
||||||
} else {
|
|
||||||
cout<<"Error detected at position: "<<errorPosition<<endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
import paramiko
|
|
||||||
|
|
||||||
def install_dhcp_server(remote_host, username, password):
|
|
||||||
# Create an SSH client
|
|
||||||
ssh = paramiko.SSHClient()
|
|
||||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
||||||
|
|
||||||
try:
|
|
||||||
# Connect to the remote machine
|
|
||||||
ssh.connect(remote_host, username=username, password=password)
|
|
||||||
|
|
||||||
# Update package list
|
|
||||||
stdin, stdout, stderr = ssh.exec_command('sudo apt update')
|
|
||||||
stdout.channel.recv_exit_status() # Wait for the command to complete
|
|
||||||
|
|
||||||
# Install ISC DHCP Server
|
|
||||||
stdin, stdout, stderr = ssh.exec_command('sudo apt install -y isc-dhcp-server')
|
|
||||||
stdout.channel.recv_exit_status() # Wait for the command to complete
|
|
||||||
|
|
||||||
# Optional: you can add more commands to configure the DHCP server here
|
|
||||||
print("DHCP server installed successfully.")
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
print(f"An error occurred: {e}")
|
|
||||||
|
|
||||||
finally:
|
|
||||||
# Close the SSH connection
|
|
||||||
ssh.close()
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
remote_host = "192.168.1.100" # Replace with your remote machine's IP
|
|
||||||
username = "your_username" # Replace with your SSH username
|
|
||||||
password = "your_password" # Replace with your SSH password
|
|
||||||
install_dhcp_server(remote_host, username, password)
|
|
Loading…
Reference in New Issue
Block a user