From 1070b85494384ead29833a0a72787fd10d390df3 Mon Sep 17 00:00:00 2001 From: 20050114 <20050114@studenti.uniupo.it> Date: Fri, 17 May 2024 09:51:46 +0200 Subject: [PATCH] ok --- Algoritmi_2/Laboratorio/Lab9/Es2/.gitignore | 29 +++++ Algoritmi_2/Laboratorio/Lab9/Es2/Es2.iml | 11 ++ Algoritmi_2/Laboratorio/Lab9/Es2/src/DB.java | 58 +++++++++ .../Laboratorio/Lab9/Es2/src/Main.java | 5 + Reti/Laboratorio/Assigment4/EchoServer/client | Bin 17416 -> 0 bytes .../Assigment4/EchoServer/client.c | 75 ------------ Reti/Laboratorio/Assigment4/EchoServer/server | Bin 17488 -> 0 bytes .../Assigment4/EchoServer/server.c | 111 ------------------ .../Laboratorio/Assigment4/EchoServer2/client | Bin 17416 -> 0 bytes .../Assigment4/EchoServer2/makefile | 10 -- .../Laboratorio/Assigment4/EchoServer2/server | Bin 17488 -> 0 bytes .../CharCount}/client.c | 0 .../CharCount}/makefile | 0 .../CharCount}/server.c | 2 - 14 files changed, 103 insertions(+), 198 deletions(-) create mode 100644 Algoritmi_2/Laboratorio/Lab9/Es2/.gitignore create mode 100644 Algoritmi_2/Laboratorio/Lab9/Es2/src/DB.java create mode 100644 Algoritmi_2/Laboratorio/Lab9/Es2/src/Main.java delete mode 100755 Reti/Laboratorio/Assigment4/EchoServer/client delete mode 100644 Reti/Laboratorio/Assigment4/EchoServer/client.c delete mode 100755 Reti/Laboratorio/Assigment4/EchoServer/server delete mode 100644 Reti/Laboratorio/Assigment4/EchoServer/server.c delete mode 100755 Reti/Laboratorio/Assigment4/EchoServer2/client delete mode 100644 Reti/Laboratorio/Assigment4/EchoServer2/makefile delete mode 100755 Reti/Laboratorio/Assigment4/EchoServer2/server rename Reti/Laboratorio/{Assigment4/EchoServer2 => Assigment5/CharCount}/client.c (100%) rename Reti/Laboratorio/{Assigment4/EchoServer => Assigment5/CharCount}/makefile (100%) rename Reti/Laboratorio/{Assigment4/EchoServer2 => Assigment5/CharCount}/server.c (98%) diff --git a/Algoritmi_2/Laboratorio/Lab9/Es2/.gitignore b/Algoritmi_2/Laboratorio/Lab9/Es2/.gitignore new file mode 100644 index 0000000..f68d109 --- /dev/null +++ b/Algoritmi_2/Laboratorio/Lab9/Es2/.gitignore @@ -0,0 +1,29 @@ +### IntelliJ IDEA ### +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/Algoritmi_2/Laboratorio/Lab9/Es2/Es2.iml b/Algoritmi_2/Laboratorio/Lab9/Es2/Es2.iml index c90834f..31ddca1 100644 --- a/Algoritmi_2/Laboratorio/Lab9/Es2/Es2.iml +++ b/Algoritmi_2/Laboratorio/Lab9/Es2/Es2.iml @@ -7,5 +7,16 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/../../graphLib.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MODULE_DIR$/../../graphLib.jar!/doc" /> + </JAVADOC> + <SOURCES /> + </library> + </orderEntry> </component> </module> \ No newline at end of file diff --git a/Algoritmi_2/Laboratorio/Lab9/Es2/src/DB.java b/Algoritmi_2/Laboratorio/Lab9/Es2/src/DB.java new file mode 100644 index 0000000..c1f4ff4 --- /dev/null +++ b/Algoritmi_2/Laboratorio/Lab9/Es2/src/DB.java @@ -0,0 +1,58 @@ +import it.uniupo.algoTools.MaxHeap; + +import java.util.Arrays; + +public class DB { + private final double capacity; + private final int[] dim; + private final double[] time; + + public DB(int[] dim, double[] time) { + this.capacity = dim.length; + this.dim = dim; + this.time = time; + } + + + private double fracKnapsackImpl(double[] dose, double[] quant) { + double valTot = 0; + double remaningSpace = capacity; + + MaxHeap<Integer, Double> maxHeap = new MaxHeap<>(); + + for (int i = 0; i < dose.length; ++i) { + maxHeap.add(i, time[i] / dim[i]); + } + + while (!maxHeap.isEmpty() && remaningSpace > 0) { + // Estraggo il materiale con valore unitario massimo + int extractedMaterial = maxHeap.extractMax(); + + //Se posso prendererlo tutto senza riempite lo zaiono lo prendo tutto + if (remaningSpace >= dim[extractedMaterial]) { + dose[extractedMaterial] = 1; + quant[extractedMaterial] = dim[extractedMaterial]; + valTot += dim[extractedMaterial]; + } + //Altrimenti ne prendo una frazione + else { + dose[extractedMaterial] = remaningSpace / dim[extractedMaterial]; + quant[extractedMaterial] = remaningSpace; + valTot += (time[extractedMaterial] * dose[extractedMaterial]); + } + remaningSpace -= quant[extractedMaterial]; + } + return valTot; + } + + public double timeToRebuild(int memSpace) { + if (memSpace < 0) { + throw new IllegalArgumentException("MemSpace negativo"); + } + double[] dose = new double[memSpace]; + double[] quant = new double[memSpace]; + } + +} + + diff --git a/Algoritmi_2/Laboratorio/Lab9/Es2/src/Main.java b/Algoritmi_2/Laboratorio/Lab9/Es2/src/Main.java new file mode 100644 index 0000000..3e59c38 --- /dev/null +++ b/Algoritmi_2/Laboratorio/Lab9/Es2/src/Main.java @@ -0,0 +1,5 @@ +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/Reti/Laboratorio/Assigment4/EchoServer/client b/Reti/Laboratorio/Assigment4/EchoServer/client deleted file mode 100755 index daed40002f88652868921c748acf1f5e31b6aed3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17416 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 XQBuA_i)(<&{@2|sELM6PJR<uSrv*P3 diff --git a/Reti/Laboratorio/Assigment4/EchoServer/client.c b/Reti/Laboratorio/Assigment4/EchoServer/client.c deleted file mode 100644 index c62a176..0000000 --- a/Reti/Laboratorio/Assigment4/EchoServer/client.c +++ /dev/null @@ -1,75 +0,0 @@ -#include <arpa/inet.h> -#include <netdb.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/socket.h> -#include <sys/types.h> -#include <unistd.h> - -int main(int argc, char *argv[]) { - char valueToSend[256] = {'\0'}; - char valueToReceive[256] = {'\0'}; - printf("-1 per uscire\n"); - while (valueToSend[0] != '-' && valueToSend[1] != '1') { - - int simpleSocket = 0; - int simplePort = 0; - int returnStatus = 0; - char buffer[256] = ""; - struct sockaddr_in simpleServer; - - if (argc != 3) { - fprintf(stderr, "Usage: %s <server> <port>\n", argv[0]); - exit(1); - } - - /* create a streaming socket */ - simpleSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - - if (simpleSocket == -1) { - fprintf(stderr, "Could not create a socket!\n"); - exit(1); - } else { - fprintf(stderr, "Socket created!\n"); - } - - /* retrieve the port number for connecting */ - simplePort = atoi(argv[2]); - - /* setup the address structure */ - /* use the IP address sent as an argument for the server address */ - // bzero(&simpleServer, sizeof(simpleServer)); - memset(&simpleServer, '\0', sizeof(simpleServer)); - simpleServer.sin_family = AF_INET; - // inet_addr(argv[2], &simpleServer.sin_addr.s_addr); - simpleServer.sin_addr.s_addr = inet_addr(argv[1]); - simpleServer.sin_port = htons(simplePort); - - /* connect to the address and port with our socket */ - returnStatus = connect(simpleSocket, (struct sockaddr *)&simpleServer, - sizeof(simpleServer)); - - if (returnStatus == 0) { - fprintf(stderr, "Connect successful!\n"); - } else { - fprintf(stderr, "Could not connect to address!\n"); - close(simpleSocket); - exit(1); - } - - /* get the message from the server */ - // returnStatus = read(simpleSocket, buffer, sizeof(buffer)); - - printf("Inserire il valore da voler inviare al server: "); - scanf("%s", valueToSend); - write(simpleSocket, valueToSend, strlen(valueToSend)); - read(simpleSocket, valueToReceive, sizeof(valueToReceive)); - printf("\n\nEcho: %s\n", valueToReceive); - close(simpleSocket); - memset(valueToReceive, 0, sizeof(valueToReceive)); - memset(valueToSend, 0, sizeof(valueToSend)); - } - - return 0; -} diff --git a/Reti/Laboratorio/Assigment4/EchoServer/server b/Reti/Laboratorio/Assigment4/EchoServer/server deleted file mode 100755 index 0394389a781508863d7c29cc4878a5e63f0f2ee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17488 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 O{Fr5Nlh45?ivI!{ql`!Z diff --git a/Reti/Laboratorio/Assigment4/EchoServer/server.c b/Reti/Laboratorio/Assigment4/EchoServer/server.c deleted file mode 100644 index c337b3f..0000000 --- a/Reti/Laboratorio/Assigment4/EchoServer/server.c +++ /dev/null @@ -1,111 +0,0 @@ -#include <netdb.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/socket.h> -#include <sys/types.h> -#include <time.h> -#include <unistd.h> - -// const char MESSAGE[] = "Guess who's back!\n"; - -int main(int argc, char *argv[]) { - - time_t ticks = time(NULL); - char MESSAGE[28] = {'\0'}; - snprintf(MESSAGE, sizeof(MESSAGE), "%.24s\r\n", ctime(&ticks)); - - int simpleSocket = 0; - int simplePort = 0; - int returnStatus = 0; - struct sockaddr_in simpleServer; - - if (argc < 1 || argc > 2) { - fprintf(stderr, "Usage: %s <port>\n", argv[0]); - exit(1); - } - - simpleSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - - if (simpleSocket == -1) { - - fprintf(stderr, "Could not create a socket!\n"); - exit(1); - - } else { - fprintf(stderr, "Socket created!\n"); - } - - /* retrieve the port number for listening */ - if (argc == 2) { - simplePort = atoi(argv[1]); - if (simplePort < 10000 || simplePort > 12000) { - fprintf(stderr, "Port must be in range [10000, 12000]\n"); - exit(1); - } - } else { - srand(time(NULL)); - simplePort = (rand() % 1999) + 10000; - } - - /* setup the address structure */ - /* use INADDR_ANY to bind to all local addresses */ - memset(&simpleServer, '\0', sizeof(simpleServer)); - simpleServer.sin_family = AF_INET; - simpleServer.sin_addr.s_addr = htonl(INADDR_ANY); - simpleServer.sin_port = htons(simplePort); - - /* bind to the address and port with our socket */ - returnStatus = bind(simpleSocket, (struct sockaddr *)&simpleServer, - sizeof(simpleServer)); - - if (returnStatus == 0) { - fprintf(stderr, "Bind completed on port %d!\n", simplePort); - } else { - fprintf(stderr, "Could not bind to address!\n"); - close(simpleSocket); - exit(1); - } - - /* lets listen on the socket for connections */ - returnStatus = listen(simpleSocket, 5); - - if (returnStatus == -1) { - fprintf(stderr, "Cannot listen on socket!\n"); - close(simpleSocket); - exit(1); - } - - while (1) { - struct sockaddr_in clientName = {0}; - int simpleChildSocket = 0; - int clientNameLength = sizeof(clientName); - - /* wait here */ - - simpleChildSocket = - accept(simpleSocket, (struct sockaddr *)&clientName, &clientNameLength); - - if (simpleChildSocket == -1) { - fprintf(stderr, "Cannot accept connections!\n"); - close(simpleSocket); - exit(1); - } - - /* handle the new connection request */ - /* write out our message to the client */ - - // Read message from client - char bufferRead[256] = {'\0'}; - printf("%zu\n\n", read(simpleChildSocket, bufferRead, sizeof(bufferRead))); - printf("Received: %s\n", bufferRead); - char valueToSend[256] = {'\0'}; - snprintf(valueToSend, sizeof(valueToSend), "%s", bufferRead); - write(simpleChildSocket, valueToSend, sizeof(valueToSend)); - - close(simpleChildSocket); - } - - close(simpleSocket); - return 0; -} diff --git a/Reti/Laboratorio/Assigment4/EchoServer2/client b/Reti/Laboratorio/Assigment4/EchoServer2/client deleted file mode 100755 index daed40002f88652868921c748acf1f5e31b6aed3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17416 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 XQBuA_i)(<&{@2|sELM6PJR<uSrv*P3 diff --git a/Reti/Laboratorio/Assigment4/EchoServer2/makefile b/Reti/Laboratorio/Assigment4/EchoServer2/makefile deleted file mode 100644 index f0ddf27..0000000 --- a/Reti/Laboratorio/Assigment4/EchoServer2/makefile +++ /dev/null @@ -1,10 +0,0 @@ -all: client server - -client: client.c - gcc client.c -o client - -server: server.c - gcc server.c -o server - -clean: - rm -f client server diff --git a/Reti/Laboratorio/Assigment4/EchoServer2/server b/Reti/Laboratorio/Assigment4/EchoServer2/server deleted file mode 100755 index 0394389a781508863d7c29cc4878a5e63f0f2ee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17488 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 O{Fr5Nlh45?ivI!{ql`!Z diff --git a/Reti/Laboratorio/Assigment4/EchoServer2/client.c b/Reti/Laboratorio/Assigment5/CharCount/client.c similarity index 100% rename from Reti/Laboratorio/Assigment4/EchoServer2/client.c rename to Reti/Laboratorio/Assigment5/CharCount/client.c diff --git a/Reti/Laboratorio/Assigment4/EchoServer/makefile b/Reti/Laboratorio/Assigment5/CharCount/makefile similarity index 100% rename from Reti/Laboratorio/Assigment4/EchoServer/makefile rename to Reti/Laboratorio/Assigment5/CharCount/makefile diff --git a/Reti/Laboratorio/Assigment4/EchoServer2/server.c b/Reti/Laboratorio/Assigment5/CharCount/server.c similarity index 98% rename from Reti/Laboratorio/Assigment4/EchoServer2/server.c rename to Reti/Laboratorio/Assigment5/CharCount/server.c index b13bab7..6623e4f 100644 --- a/Reti/Laboratorio/Assigment4/EchoServer2/server.c +++ b/Reti/Laboratorio/Assigment5/CharCount/server.c @@ -7,8 +7,6 @@ #include <time.h> #include <unistd.h> -// const char MESSAGE[] = "Guess who's back!\n"; - int main(int argc, char *argv[]) { int simpleSocket = 0; int simplePort = 0; -- GitLab