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>
|
||||
#define LINESIZE 100
|
||||
struct heap {
|
||||
int* array;
|
||||
int size;
|
||||
int* line;
|
||||
int capacity;
|
||||
};
|
||||
|
||||
@ -21,7 +21,7 @@ int pravy_syn(int i){
|
||||
|
||||
struct heap* create_heap(int capacity){
|
||||
struct heap* h = calloc(1,sizeof(struct heap));
|
||||
h->array = calloc(capacity,sizeof(int));
|
||||
h->line = calloc(capacity,sizeof(int));
|
||||
h->capacity =capacity;
|
||||
h->size = 0;
|
||||
return h;
|
||||
@ -37,7 +37,7 @@ void check_heap_property(struct heap* h){
|
||||
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.");
|
||||
exit(0);
|
||||
}
|
||||
@ -46,15 +46,15 @@ void check_heap_property(struct heap* h){
|
||||
}
|
||||
|
||||
void delete_heap(struct heap* h){
|
||||
free(h->array);
|
||||
free(h->line);
|
||||
free(h);
|
||||
}
|
||||
|
||||
void swap(int arr[],int a, int b){
|
||||
int temp = arr[a];
|
||||
arr[a] = arr[b];
|
||||
arr[b] = temp;
|
||||
}
|
||||
//void vymen(int arr[],int a, int b){
|
||||
// int pom = arr[a];
|
||||
// arr[a] = arr[b];
|
||||
// arr[b] = pom;
|
||||
//}
|
||||
|
||||
void add(struct heap* h,int value){
|
||||
|
||||
@ -64,7 +64,7 @@ void add(struct heap* h,int value){
|
||||
}
|
||||
|
||||
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++){
|
||||
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,pravy_syn(index));
|
||||
|
||||
@ -91,24 +91,28 @@ void sort(struct heap *h){
|
||||
int i = h->size-1;
|
||||
int p = parent(i);
|
||||
|
||||
while(h->array[i] < h->array[p]) {
|
||||
swap(h->array,i, p);
|
||||
while(h->line[i] < h->line[p]) {
|
||||
int arr[] = h->line;
|
||||
int pom = arr[i];
|
||||
arr[i] = arr[p];
|
||||
arr[p] = pom;
|
||||
//vymen(h->line,i, p);
|
||||
i = parent(i);
|
||||
}
|
||||
}
|
||||
|
||||
int main(){
|
||||
int i =0;
|
||||
int temp_array[LINESIZE] = {0};
|
||||
int i = 0;
|
||||
int temp_line[LINESIZE] = {0};
|
||||
|
||||
while(scanf("%d",&temp_array[i]) == 1) {
|
||||
while(scanf("%d",&temp_line[i])== 1) {
|
||||
i++;
|
||||
}
|
||||
|
||||
struct heap* h = create_heap(i);
|
||||
|
||||
for(int j =0;j<i;j++){
|
||||
add(h,temp_array[j]);
|
||||
add(h,temp_line[j]);
|
||||
}
|
||||
|
||||
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