Hero Image
큰수 작은수로 정렬후 덧셈

입력 받은 수를 큰수와 작은수로 정렬후 덧셈 모든 내용은 Git hub 에도 있습니다. 문제 임의의 수를 입력 받아 큰수와 작은수로 정렬한후 덧셈을 함. 필요 자료구조 및 알고리즘 ASCII Code를 통한 계신(키보드 입력및 파일 입출력) Bubble Sorting Binary Addition Algotirthm 설계 KeyBoard Input or File Input Processing Dynamic Allocation for Big&Small Integer Bubble sort for Big&small integer Binary Addition Algorithm 구현 Input Any Number : 원하는 아무 숫자를 Space로 구분지어 입력합니다. Result : Space로 입력된 숫자들을 오름차순 내림차순으로 정렬되어 Binary Addition이 됩니다. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <sys/time.h> #define MAX_STR_SIZE 100 void bubble(char a[], int n); void rebubble(char b[], int n); void swap(char *, char *); void showstream(char a[]); void sum(char big[],char small[]); void reverse(char a[]); void ncarry(int n,int end); void whatbubblein(char a[],char b[]); void input_string(); char result[MAX_STR_SIZE]; char str_before[MAX_STR_SIZE]; int main() { char str_after[MAX_STR_SIZE]; printf("Input Any Number : "); input_string(); strcpy(str_after,str_before); bubble(str_before,(int)strlen(str_before)); rebubble(str_after,(int)strlen(str_before)); sum(str_before,str_after); reverse(result); printf("result : "); showstream(result); return 0; } void input_string(){ char str_after[MAX_STR_SIZE]; char str_read[MAX_STR_SIZE]; int i,j,k=0; fgets(str_read , MAX_STR_SIZE,stdin); for (int i = 0; i < strlen(str_read); ++i) { if(str_read[i]==10){ str_before[k] ='\0'; } if(str_read[i]!=32 && str_read[i]!=10){ //32 space bar str_before[k]=str_read[i]; k++; } } } void bubble(char a[], int n) { /* n is the size of a[] */ int i, j,k; for (i = 0; i < n - 1; ++i){ for (j = n - 1; j > i; --j){ if (a[j-1] > a[j]){ swap(&a[j-1], &a[j]); } } } } void rebubble(char b[], int n){ int i,j,k=0; for (i = 0; i < n - 1; ++i){ for (j = n - 1; j > i; --j){ if (b[j-1] < b[j] ){ swap(&b[j-1], &b[j]); } } } } void swap(char *p,char *q){ static char cnt=1; char temp=*p; *p=*q; *q=temp; cnt++; } void showstream(char a[]){ puts(a); } void sum(char big[],char small[]){ char temp[MAX_STR_SIZE]; int i,j,k; static int count=0; int leng,carry=0; leng = (int)(strlen(big)); for (int i = 0; i < leng; ++i) { temp[i]=(big[leng-1-i]+small[leng-1-i])-48; if(carry==1){ result[i]=1+temp[i]; carry = 0; if(result[i]>=58){ result[i]=result[i]-10; result[i+1]=result[i+1]+49; ncarry(count,i); carry=1; } } else{ if(temp[i]>=58){ result[i]=temp[i]-10; carry=1; ncarry(count,i); } else{ result[i]+= temp[i]; } } count++; } } void reverse(char a[]) { char temp[MAX_STR_SIZE]; int x; x=strlen(a); for(int n=x-1;n>=0;n--) { temp[x-n-1]=a[n]; } temp[x]='\0'; strcpy(result,temp); } void ncarry(int n,int end){ if(n==end){ result[n+1]='1'; } else{ result[n+1]=result[n+1]+1; } } void whatbubblein(char a[],char b[]) { int i,leng; leng = (int)(strlen(a)); printf("bubble :\t"); for (int i = 0; i <leng; ++i) { printf("[%d]:%d(%c) ",i, a[i],a[i]); } printf("\nrebubble :\t"); for(i= 0; i <leng;i++) { printf("[%d]:%d(%c) ",i, b[i],b[i]); } printf("\n"); } Refference 숫자 알고리즘

Hero Image
AWS project 진행 과정

gui 변경 사전에 맥에 vncviewer를 설치해 줬다. 아마 대부분 유저들이 사용하는 팀뷰어 같은 앱이라고 생각하면 편하다. 설치하면서 stackoverflow를 참고 하였다. # aws 우분투 서버 접속후 $ sudo apt-get update $ sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal $ sudo apt-get install ubuntu-desktop $ sudo apt-get install vnc4server ubuntu@ip-172-31-19-48:~$ vncserver You will require a password to access your desktops. Password: Password must be at least 6 characters - try again Password: Password must be at least 6 characters - try again Password: Verify: xauth: file /home/ubuntu/.Xauthority does not exist New 'ip-172-31-19-48:1 (ubuntu)' desktop is ip-172-31-19-48:1 Creating default startup script /home/ubuntu/.vnc/xstartup Starting applications specified in /home/ubuntu/.vnc/xstartup Log file is /home/ubuntu/.vnc/ip-172-31-19-48:1.log $ vncserver -kill :1 $ exit # 우분투 서버 재접속 cd /vnc sudo vi xstartup #insert this script-------------------------------------# export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & gnome-panel & gnome-settings-daemon & metacity & nautilus & gnome-terminal & #-------------------------------------------------------# # 이후 서버에 접속 할때마다 연결 주소 확인

Hero Image
Django 따라해보기!!

Django(Framework) Django(/dʒæŋɡoʊ/ jang-goh/쟁고/장고)는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)입니다. 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크랍니다. Installation $ pip3 install Django $ python3 >>import django >>django.VERSION >>(2.0.1) 가상환경을 프로젝트 폴더에 적용 pyenv 를 이용하여 가상환경을 적용해 줄겁니다. pyenv-installer 를 이용해서 설치하면 다른 플러그인도 같이 설치 됩니다. $ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash $ pyenv update # 현재 사용하고 있는 버전들 $ pyenv versions * system (set by /Users/Edwardson/.pyenv/version) 3.6.5 $ pyenv virtualenv 3.6.5 myenv $ pyenv versions * system (set by /Users/Edwardson/.pyenv/version) 3.6.5 3.6.5/envs/myenv myenv $ mkdir project # project 폴더로 이동후 $ pyenv local project (myenv)$ python3 --version Python 3.6.5 (myenv)$ pip --version pip 9.0.3 from /Users/Edwardson/.pyenv/versions/3.6.5/envs/myenv/lib/python3.6/site-packages (python 3.6) # 버전이 너무 낮아서 업글 해줘야댐 (myenv)$ pip install --upgrade pip (myenv)$ pip install Django django project 생성 (myenv)$ django-admin startproject project . └── project ├── project │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-36.pyc │ │ ├── settings.cpython-36.pyc │ │ ├── urls.cpython-36.pyc │ │ └── wsgi.cpython-36.pyc │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── db.sqlite3 └── manage.py # 프로젝트 폴더 명도 project 이고 그안에 시작 폴더 이름도 project가 되버린다. # 때문에 프로젝트 폴더 안의 project를 config로 바꿀것이다. # 하지만 폴더 명을 바꿔 버리면 영향을 미치는 파일들이 있는데 # manage.py wsgi.py settings.py 이 세개의 파일이다. # 들어가서 project로 되어있는 부분들을 전부 config로 바꾸자 . └── project ├── config │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-36.pyc │ │ ├── settings.cpython-36.pyc │ │ ├── urls.cpython-36.pyc │ │ └── wsgi.cpython-36.pyc │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── db.sqlite3 └── manage.py # 아마 이렇게 되어있을것이다. 실습-1 django 시작부터 글 모델 데이터 베이스 생성