전기전자공학/프로젝트
-
[컴퓨터망] UDP ping 프로젝트전기전자공학/프로젝트 2018. 3. 25. 02:50
컴퓨터망 수업에서 교수님께서 python으로 UDP ping을 구현하는 미니(?) 프로젝트를 과제로 내어주셨다! 간단하게 UDP를 설명하자면,이 UDP는 전송 계층에 있는 프로토콜로 비연결형 서비스를 제공한다.데이터를 주고받는 데에 쓰이는데 왜 비연결형이라고 하는걸까??그 이유는 UDP는 송신자와 수신자 사이 정확히 연결이 됐는지 확인하지 않고 바로 데이터를 보내기 때문이다!사실 이 프로토콜은 그냥 데이터 전송에만 포커스를 맞춘 프로토콜이라 데이터 전송에 신경쓰는 게 별로 없다.보안이던가 네트워크 트래픽을 고려하지도 않는다. 그치만 여기서 장점이 있다!보내는 것에만 신경쓰기 때문에 속도가 빠르다! 그래서 비디오나 오디오, 즉 텍스트보다 용량이 큰 데이터들을 보내는 데 자주 쓰인다 이제 본격적으로 과제를 ..
-
[ACES] 3rd week - Graph전기전자공학/프로젝트 2017. 7. 19. 20:47
사용되는 자료구조 - Graph - Linked List - Queue 파일:ADT_llist.c ADT_llist.hADT_graph.c ADT_graph.hADT_queue.c ADT_queue.h 문제 - bfs를 풀기 위한 파일들ADT_graph_bfs.c main.c 모든 파일들을 손쉽게 엮어줄 Makefile ADT_llist.h12345678910111213141516171819202122232425262728293031323334353637383940#ifndef ADT_LLIST#define ADT_LLIST #include #include //typedef int bool;#define true 1#define false 0 // List Nodetypedef struct node { ..
-
[ACES - C ] 데이터 형과 변수의 종류(지역변수, 전역변수, 정적변수)전기전자공학/프로젝트 2017. 7. 11. 11:14
오늘 포스팅은 C언어의 심화적인 부분들에 대해 작성하겠습니다! Overflow와 UnderflowData type (데이터형)지역변수, 전역변수, 정적 변수( 정적 지역변수, 정적 전역변수 )C 프로그래밍을 하면서 다양한 변수들의 형태을 정하는 데변수의 데이터형에 따라 컴파일러가 처리하는 과정이 조금 달라집니다.unsigned / char, short, int, long 을 통해 예를 들어볼게요 overflow(오퍼플로우)란 해당 데이터 형의 제한 숫자 범위를 넘어서는 현상을 말합니다.예제#include int main() { signed char = c1; // signed char(8bit)의 숫자 범위: -128 ~ 127 c1 = 127; c1++; c1 = -128; c1--; } c1++; /..
-
#5-6,7 포인터 배열전기전자공학/프로젝트 2017. 6. 29. 13:58
[예제 5-7]readlines 프로그램을 고쳐서 alloc 함수를 사용하지 않고 main에서 사용 가능한 배열에 입력을 저장하도록 해보라.프로그램 수행이 얼마나 빨라지는지 보라. (시간 함수를 아직 잘 못쓰겠다.) . --> 해결! : 터미널에 time ./main 하면 실행 시간을 알 수 있다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113..
-
[Kernighan - C] #5 - 5전기전자공학/프로젝트 2017. 6. 29. 00:53
[예제 5 -1]위의 프로그램에서 숫자 앞이 아닌 다른 곳에 있는 +와 -는 0으로 취급되었다. 입력으로 읽을 수 있도록 해보라.. -- 무슨 의미인지 모르겠음.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354include #include /* 문자를 숫자로 출력하는 함수 */int getch(void);void ungetch(int); int getint(int *pn) { int c, sign; int sawsign; while(isspace(c = getch())) /* skip white space */ ; if(!isdigit(c) && c != EOF && c != ..
-
[Kernighan - C] #4-1,2 함수의 기초전기전자공학/프로젝트 2017. 6. 26. 11:49
4.1 함수의 기초 [예제 4-1]s내에서 t의 가장 오른쪽 위치를 나타내는 함수 strindex(s,t)를 작성해보라. 만일 t가 없다면 -1을 리턴.(맨 오른쪽 기준을 0으로 한 경우)1234567891011int strindex(char s[], char t[]) { int i, j, k; for (i = 0; s[i] != '\0'; i++) { for (j = i, k = 0; t[k] != '\0' && s[j] == t[k]; j++, k++) ; if (k > 0 && t[k] == '\0') return strlen(s) - (i+ strlen(t)) - 1; } return -1;}Colored by Color Scriptercs strlen(s)는 실제 s에서 \n을 포함한 길이 이므..
-
[Kernighan - C] #2-11 조건문전기전자공학/프로젝트 2017. 6. 25. 22:58
2.11 조건문 [예제 2- 10]대문자를 소문자로 바꾸는 함수 lower(p.58)을 if-else 대신 조건문을 써서 다시 작성하라.1234567891011121314151617181920212223242526272829303132333435#include #define MAXLINE 1000 int getline(char line[], int maxline);int lower(int); main() { char str[100]; int i; getline(str, MAXLINE); for (i = 0; str[i] != '\0'; i++) str[i] = lower(str[i]); printf("%s", str); } int lower(int c) { c = (c >= 'A' && c