prvy
This commit is contained in:
		
							parent
							
								
									b884843e8e
								
							
						
					
					
						commit
						234c9e35b6
					
				
							
								
								
									
										63
									
								
								OS/server.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								OS/server.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,63 @@ | |||||||
|  | #include <netinet/in.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include <sys/socket.h> | ||||||
|  | #include <unistd.h> | ||||||
|  | 
 | ||||||
|  | #define LINESIZE 128 | ||||||
|  | 
 | ||||||
|  | void error(char *msg){ | ||||||
|  |     perror(msg); | ||||||
|  |     exit(1); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main (int argc, char *argv[]){ | ||||||
|  |     int sockfd; | ||||||
|  |     int newsockfd; | ||||||
|  |     int portno; | ||||||
|  |     int clilen; | ||||||
|  |     int n; | ||||||
|  |     char buffer[LINESIZE]; | ||||||
|  |     struct sockaddr_in serv_addr; | ||||||
|  |     struct sockaddr_in cli_addr; | ||||||
|  |     if (argc < 2){ | ||||||
|  |         fprintf(stderr, "ERROR, no port provided\n"); | ||||||
|  |         exit(1); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     sockfd = socket(PF_INET, SOCK_STREAM, 0); | ||||||
|  |     if (sockfd < 0){ | ||||||
|  |         error("ERROR opening socket"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     bzero((char *)&serv_addr, sizeof(serv_addr)); | ||||||
|  |     portno = atoi(argv[1]); | ||||||
|  |     serv_addr.sin_family = AF_INET; | ||||||
|  |     serv_addr.sin_addr.s_addr = INADDR_ANY; | ||||||
|  |     serv_addr.sin_port = htons(portno); | ||||||
|  |     printf("Server is waiting for the message, please wait...\n"); | ||||||
|  | 
 | ||||||
|  |     if (bind(sockfd, (struct sockaddr *)&serv_addr, sizeof (serv_addr)) < 0){ | ||||||
|  |         error("ERROR on binding"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     listen(sockfd, 5); | ||||||
|  |     clilen = sizeof(cli_addr); | ||||||
|  | 
 | ||||||
|  |     newsockfd = accept(sockfd, (struct sockaddr *)&cli_addr, &clilen); | ||||||
|  |     if (newsockfd < 0){ | ||||||
|  |         error("ERROR on accept"); | ||||||
|  |     } | ||||||
|  |     bzero(buffer, LINESIZE); | ||||||
|  |     n = read(newsockfd, buffer, LINESIZE); | ||||||
|  |     if (n < 0){ | ||||||
|  |         error("ERROR reading from socket"); | ||||||
|  |     } | ||||||
|  |     printf("The message is: %s", buffer); | ||||||
|  |     fprintf(stderr, "The mesaage contains %d bytes.\n", n); | ||||||
|  | 
 | ||||||
|  |     close(sockfd); | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								a2/program
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								a2/program
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								a4/program
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								a4/program
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										38
									
								
								a4/program.c
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								a4/program.c
									
									
									
									
									
								
							| @ -2,8 +2,8 @@ | |||||||
| #include<stdlib.h> | #include<stdlib.h> | ||||||
| #define LINESIZE 100 | #define LINESIZE 100 | ||||||
| struct heap { | struct heap { | ||||||
|     int* array; |  | ||||||
|     int size; |     int size; | ||||||
|  |     int* line; | ||||||
|     int capacity; |     int capacity; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @ -21,7 +21,7 @@ int pravy_syn(int i){ | |||||||
| 
 | 
 | ||||||
| struct heap* create_heap(int capacity){ | struct heap* create_heap(int capacity){ | ||||||
|     struct heap* h = calloc(1,sizeof(struct heap)); |     struct heap* h = calloc(1,sizeof(struct heap)); | ||||||
|     h->array = calloc(capacity,sizeof(int)); |     h->line = calloc(capacity,sizeof(int)); | ||||||
|     h->capacity =capacity; |     h->capacity =capacity; | ||||||
|     h->size = 0; |     h->size = 0; | ||||||
|     return h; |     return h; | ||||||
| @ -37,7 +37,7 @@ void check_heap_property(struct heap* h){ | |||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if(h->array[i] > h->array[pravy] || h->array[i] > h->array[lavy]){ |         if(h->line[i] > h->line[pravy] || h->line[i] > h->line[lavy]){ | ||||||
|             printf("%s\n","Niejekopa."); |             printf("%s\n","Niejekopa."); | ||||||
|             exit(0); |             exit(0); | ||||||
|         } |         } | ||||||
| @ -46,15 +46,15 @@ void check_heap_property(struct heap* h){ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void delete_heap(struct heap* h){ | void delete_heap(struct heap* h){ | ||||||
|     free(h->array); |     free(h->line); | ||||||
|     free(h); |     free(h); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void swap(int arr[],int a, int b){ | //void vymen(int arr[],int a, int b){
 | ||||||
|     int temp = arr[a]; | //    int pom = arr[a];
 | ||||||
|     arr[a] = arr[b]; | //    arr[a] = arr[b];
 | ||||||
|     arr[b] = temp; | //    arr[b] = pom;
 | ||||||
| } | //}
 | ||||||
| 
 | 
 | ||||||
| void add(struct heap* h,int value){ | void add(struct heap* h,int value){ | ||||||
| 
 | 
 | ||||||
| @ -64,7 +64,7 @@ void add(struct heap* h,int value){ | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     h->size += 1; |     h->size += 1; | ||||||
|     h->array[i] = value; |     h->line[i] = value; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| @ -79,7 +79,7 @@ void print(struct heap* h,int count_spaces,int index){ | |||||||
|     for(int i =0;i<count_spaces;i++){ |     for(int i =0;i<count_spaces;i++){ | ||||||
|         printf(" "); |         printf(" "); | ||||||
|     } |     } | ||||||
|     printf("%d\n",h->array[index]); |     printf("%d\n",h->line[index]); | ||||||
|     print(h,count_spaces+1,lavy_syn(index)); |     print(h,count_spaces+1,lavy_syn(index)); | ||||||
|     print(h,count_spaces+1,pravy_syn(index)); |     print(h,count_spaces+1,pravy_syn(index)); | ||||||
| 
 | 
 | ||||||
| @ -91,24 +91,28 @@ void sort(struct heap *h){ | |||||||
|     int i = h->size-1; |     int i = h->size-1; | ||||||
|     int p = parent(i); |     int p = parent(i); | ||||||
| 
 | 
 | ||||||
|     while(h->array[i] < h->array[p]) { |     while(h->line[i] < h->line[p]) { | ||||||
|         swap(h->array,i, p); |         int arr[] = h->line; | ||||||
|  |         int pom = arr[i]; | ||||||
|  |         arr[i] = arr[p]; | ||||||
|  |         arr[p] = pom; | ||||||
|  |         //vymen(h->line,i, p);
 | ||||||
|         i = parent(i); |         i = parent(i); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int main(){ | int main(){ | ||||||
|     int i  =0; |     int i  = 0; | ||||||
|     int temp_array[LINESIZE] = {0}; |     int temp_line[LINESIZE] = {0}; | ||||||
| 
 | 
 | ||||||
|     while(scanf("%d",&temp_array[i]) == 1) { |     while(scanf("%d",&temp_line[i])== 1)  { | ||||||
|         i++; |         i++; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     struct heap* h = create_heap(i); |     struct heap* h = create_heap(i); | ||||||
| 
 | 
 | ||||||
|     for(int j =0;j<i;j++){ |     for(int j =0;j<i;j++){ | ||||||
|         add(h,temp_array[j]); |         add(h,temp_line[j]); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     check_heap_property(h); |     check_heap_property(h); | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								cv8/program
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cv8/program
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										14
									
								
								sk1a/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								sk1a/Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | all: program | ||||||
|  | 
 | ||||||
|  | maze.o: maze.c | ||||||
|  | 	gcc -c -g -Wall maze.c -o maze.o | ||||||
|  | 
 | ||||||
|  | main.o: main.c | ||||||
|  | 	gcc -c -g -Wall main.c -o main.o | ||||||
|  | 
 | ||||||
|  | program: maze.o main.o | ||||||
|  | 	gcc -g -Wall maze.o main.o  -o program | ||||||
|  | 
 | ||||||
|  | clean: | ||||||
|  | 	rm program | ||||||
|  | 	rm *.o | ||||||
							
								
								
									
										39
									
								
								sk1a/main.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								sk1a/main.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | |||||||
|  | #define SZ 5 | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include "maze.h" | ||||||
|  | 
 | ||||||
|  | void print_solution(char* matrix,int sz){ | ||||||
|  |     for (int i = 0; i < sz * sz; i++){ | ||||||
|  |         printf("%c ",matrix[i]); | ||||||
|  |         if (i % sz == (sz-1)){ | ||||||
|  |             printf("\n"); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main(){ | ||||||
|  |     char tmaze[SZ+1][SZ+1]={ | ||||||
|  |         "*x   ", | ||||||
|  |         "  x  ", | ||||||
|  |         "  x  ", | ||||||
|  |         "  x  ", | ||||||
|  |         "     ", | ||||||
|  |     }; | ||||||
|  |     char maze[SZ*SZ]; | ||||||
|  |     memset(maze,' ',SZ*SZ); | ||||||
|  |     for (int i= 0; i < SZ; i++){ | ||||||
|  |         for (int j= 0; j < SZ; j++){ | ||||||
|  |             if (tmaze[i][j] == 'x'){ | ||||||
|  |                 maze[i*SZ+j] = 'x'; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     int r = solve_maze(maze,SZ); | ||||||
|  |     if (!r){ | ||||||
|  |         printf("Nenasiel som riesenie\n"); | ||||||
|  |     } | ||||||
|  |     print_solution(maze,SZ); | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								sk1a/main.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sk1a/main.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										8
									
								
								sk1a/maze.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								sk1a/maze.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include "maze.h" | ||||||
|  | #include <assert.h> | ||||||
|  | 
 | ||||||
|  | int solve_maze(char* maze,int size){ | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
							
								
								
									
										22
									
								
								sk1a/maze.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								sk1a/maze.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | |||||||
|  | #ifndef _MAZEH | ||||||
|  | #define _MAZEH | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  * Funkcia by mala zobrať vstupnú mriežku a  | ||||||
|  |  * vyznačiť na nej cestu z ľavého horného rohu do pravého dolného rohu.  | ||||||
|  |  * Mriežka je uložená do jednorozmerného poľa, pričom najprv ide prvý riadok, | ||||||
|  |  * za ním druhý a tak ďalej.  | ||||||
|  |  * | ||||||
|  |  * Na mriežke sa nachádzajú znaky:  | ||||||
|  |  * ' ' - voľné miesto | ||||||
|  |  * 'x' - stena. Stena nesmie byť prepísaná. | ||||||
|  |  * '*' - poloha potkana. Na začiatku je na 0,0. | ||||||
|  |  * | ||||||
|  |  * @param maze Štvorcová mriežka rozmeru size x size. | ||||||
|  |  * @param size Rozmer mriežky | ||||||
|  |  * @return 1 ak existuje riešenie, 0 inak. | ||||||
|  |  */ | ||||||
|  | int solve_maze(char* maze,int size); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										
											BIN
										
									
								
								sk1a/maze.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sk1a/maze.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								sk1a/program
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sk1a/program
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user