반응형

 

void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);
  pinMode(5, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  int btn = digitalRead(5);
  if(btn ==1){
    digitalWrite(13,HIGH);
  }
  else{
    digitalWrite(13,LOW);
  }

  delay(100);
}

불이켜진 상태
스위치를 누르지 않은 상태

반응형
반응형

 

void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);
  pinMode(5, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  int btn = digitalRead(5);
  if(btn ==1){
    digitalWrite(13,HIGH);
  }
  else{
    digitalWrite(13,LOW);
  }

  delay(100);
}

불이켜진 상태
스위치를 누르지 않은 상태

반응형
반응형
#include<stdio.h>
#define W 1024
#define H 768
#define head 54

FILE *fp1, *fp2; // 파일 처리용 구조체 변수  
unsigned char R[H][W], G[H][W], B[H][W];
void bmp_open(char s[20], char t[20]){ 
	fp1 = fopen(s,"rb"); // 바이너리 읽기 모드로 파일 열기 
	fp2 = fopen(t,"wb"); // 바이너리 쓰기 모드로 파일 열기  
}

void bmp_close()
{
	fclose(fp1);
	fclose(fp2);
}

void head_copy()
{
	unsigned char t;
	for(int i=0; i<head; i++)
	{
		t = getc(fp1); //gets() : 1byte를 입력받는 함수 
		putc(t,fp2); //puts() :1byte를 출력하는 함수  
	}
}

void bmp_read()
{
	for(int i=0; i<H; i++){ // 열 
		for(int j = 0; j<W; j++){ //행 
			B[i][j] = getc(fp1);
			G[i][j] = getc(fp1);
			R[i][j] = getc(fp1);
		}
	}
}

void bmp_write()
{
	for(int i=0; i<H; i++){
		for(int j = 0; j<W; j++){
				B[i][j] = getc(fp1);
				G[i][j] = getc(fp1);
				R[i][j] = getc(fp1);
			}
	}
}

void filter(float r, float g, float b)
{
	for(int i=0; i<H; i++){
		for(int j = 0; j<W; j++){
				B[i][j] = (int)(B[i][j]*b/100);
				G[i][j] = (int)(G[i][j]*g/100);
				R[i][j] = (int)(R[i][j]*r/100);
			}
	}
	
	for(int i=0; i<H; i++){
		for(int j = 0; j<W; j++){
				putc(B[i][j], fp2);
				putc(G[i][j], fp2);
				putc(R[i][j], fp2);
			
			}
	}
}

int main(){
	bmp_open("rgb.bmp", "filter.bmp");
	head_copy();
	bmp_read();
	
	filter(10, 20, 80); // r,g,b percentage 
	bmp_write();
	bmp_close();
}

반응형

'2019~2020 > 정보 과학' 카테고리의 다른 글

리스트,스택, 큐의 삽입, 삭제  (0) 2019.09.06
재귀함수  (0) 2019.08.30
피보나치 수열 값 출력하기  (0) 2019.08.30
상항식, 하향식 재귀  (0) 2019.08.23
별찍기  (0) 2019.08.23
반응형

리스트(list) 

- 하나의 연결 관계에 따라 자료들을 한 줄로 연결시킨 형태로 추상화된 자료구조이다.

- 자료 저장을 위해 메모리상의 연속된 공간을 할당해야 한다는 점에서 배열과 유사한 점이 있다.

- 자료들을 이동시킬 필요가 없이 연결관계만 재구성해 주면 되는 장점이 있다.

#include<stdio.h>
#include<list>
std::list<int>L;
void view(){
	std::list<int>::iterator p;
	for(p=L.begin(); p!=L.end(); p++)
		printf("%d", *p); //*p: 정수 리스트의 p위치에 있는 값
	printf("\n");  
}
int main()
{
	std::list<int>::iterator q;
	
	for(int i=1; i<=3; i++)
	 	L.push_back(i); // 마지막 원소 다음에 자료 i 삽입(연결)
	view();
	
	q = L.begin();
	q++;
	
	L.insert(q,4);
	view();
	
	L.push_back(5);
	view();
	
	q++;
	L.erase(q);
	view();
}
/*
123
1423
14235
1425

--------------------------------
Process exited after 0.02025 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/

2. 스택(stack)

- 가장 나중에 입력된 자료에 가장 먼저 접근하고, 가장 먼저 저아도니 자료에는 가장 마지막에 접근하도록 설계된 후입선출(LIFO: Last In First Out) 형태로 추상화된 자료구조이다.

- 자료들을 쌓아 올리는 구조.

- 삽입삭제가 한곳에서만 이루어짐.

#include<stdio.h>
#include<stack>
std::stack<int>S;	// 정수형 스택 S 선언

int main(){
	for(int i=1; i<=3; i++)
	{
		S.push(i);		 //스택S의 가장 위에 i추가
	}
	for(int i=1; i<=2; i++)
	{
		printf("%d ", S.top());  //스택 S의 가장 위 자료값 출력 
		S.pop(); // 스택 S의 가장 위에 있는 자료 삭제
	}
	printf("\n"); 
	
	S.push(4); 
	S.push(5);
	while(!S.empty()){ // 스택S가 비어있지 않는 동안
		printf("%d ", S.top()); 
		S.pop(); // 
	}
	printf("\n");
}
/*
3 2
5 4 1

--------------------------------
Process exited after 0.02122 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/

std::stack<int>S;

<stack>을 참조하여 스택을 선언하기 위해서 std::stack<스택에 저장될 자료형>스택이름; 을 사용

 

3. 큐(queue)

- 먼저 입력된 자료에 가장 먼저 접근하고, 가장 나중에 저장된 자료에는 가장 마지막에 접근하도록 선입 선출(FIFO: Fisrt In, First Out) 형태로 추상화된 자료구조이다. 

#include<stdio.h>
#include<queue>
std::queue<int>Q;

int main()
{
	for(int i=1; i<=3; i++)
	{
		Q.push(i);		
	}
	for(int i=1; i<=2; i++)
	{
		printf("%d ", Q.front()); //가장 처음값 출력
		Q.pop();
	}
	printf("\n");
	
	Q.push(4);
	Q.push(5);
	while(!Q.empty()){
		printf("%d ", Q.front());
		Q.pop();
	}
	printf("\n");
}
/*
1 2
3 4 5

--------------------------------
Process exited after 0.01674 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/

큐에 저장된어 있는 값을 확인하기 위해서는 큐에 저장된어 있는 값을 순서대로 꺼내면서 확인해 보아야 함.

반응형

'2019~2020 > 정보 과학' 카테고리의 다른 글

이미지 프로세싱  (0) 2019.09.06
재귀함수  (0) 2019.08.30
피보나치 수열 값 출력하기  (0) 2019.08.30
상항식, 하향식 재귀  (0) 2019.08.23
별찍기  (0) 2019.08.23
반응형
int n;
char c;
void setup() {
  // 시리얼 통신 시작 
  Serial.begin(115200);
}

void loop() {
  // 시리얼 출력
  c = Serial.read(); // 한글자씩만 읽어줌 
  n = c - '0';
  if (n%2==0){
    Serial.println("even");
  }
  else
    Serial.println("odd");
  delay(1000);
}
반응형
반응형
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i;
	int stu, max = 0;
	int height[10] = {176, 168, 182, 175, 162, 173, 188, 163, 173};
	
	for(i=0; i<10; i++){
		if(height[i]>max){
			max = height[i];
			stu = i+1;
		}
	}
	printf("가장 키가 큰 학생은 %d번이고 키는 %d cm입니다.", stu, max);
	return 0;
}
/*
가장 키가 큰 학생은 7번이고 키는 188 cm입니다.
--------------------------------
Process exited after 0.01588 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/
반응형

'2019~2020 > 자료구조' 카테고리의 다른 글

선택정렬이란  (0) 2019.09.11
버블정렬  (0) 2019.09.11
bfs-dfs  (0) 2019.08.26
행렬을 이용한 BFS (c)  (0) 2019.08.20
연결 리스트 DFS (c)  (0) 2019.08.16
반응형

 

*별출력하고 홀수값 출력하기 

#include<stdio.h>
void recur2(int y);
void recur1(int x);
int main(void){
	recur1(9); //recur(9)함수 호출 
	return 0;
}
void recur1(int x){ 
	if(x) 
		recur2(x-1); //recur2(x-1)호출
	printf("%d", x);
}
void recur2(int y){ // y가 x-1이므로 
	printf("*"); 
	if(y)
		recur1(y-1); //recur1(y-1)출력
}
/*
*****13579
--------------------------------
Process exited after 0.01646 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/

함수와 값 더해서 출력하기 

#include<stdio.h>
int f(int a, int b){
	if(a<=0) // a가 0보다 작거나 같으면 b를 되돌려준다
		return b;
	else //만약 a가 0보다 크다면 f(a-1, b*2)+b 함수를 실행시킨다. 
		return f(a-1, b*2) + b; // a가 0보다 같거나 작아질때까지 반복한다.
}
int main(){
	int a, b;
	scanf("%d %d", &a, &b);
	printf("%d",f(a, b));
}
/*
2 2
14
--------------------------------
Process exited after 2.262 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/

 

#include<stdio.h>
int rever(char a[], int s, int d){
	if(s < d){ //s가 d보다 작다면 
		char t;
		t = a[d]; a[d] = a[s]; a[s] = t; //t에 a[d]를 저장 a[d]에  a[s]값 저장 
		rever(a, s+1, d-1); //함수 호출 
	}
}
int main(){
	char k[4]={'a','b','c','d'};
	rever(k, 0, 3); // 함수호출 
	for(int i=0; i<4; i++)
	{
		printf("%c",k[i]); //배열 출력 
	}
	return 0;
}
/*
dcba
--------------------------------
Process exited after 0.02256 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/

문자열 역순으로 출력하기 

반응형

'2019~2020 > 정보 과학' 카테고리의 다른 글

이미지 프로세싱  (0) 2019.09.06
리스트,스택, 큐의 삽입, 삭제  (0) 2019.09.06
피보나치 수열 값 출력하기  (0) 2019.08.30
상항식, 하향식 재귀  (0) 2019.08.23
별찍기  (0) 2019.08.23
반응형
#include<stdio.h>
int fib1(int n){
	if(n<=1)
		return n;
	else
		return fib1(n-1) + fib1(n-2);
}

int fib2(int n){
	int k;
	int ary_fib[n+1];
	ary_fib[0] = 0;
	if(n > 0){
		ary_fib[1] = 1;
		for(k=2; k<=n; k++)
			ary_fib[k] = ary_fib[k-1] + ary_fib[k-2];
	}
	return ary_fib[n];
}
int main()
{
	int a;
	scanf("%d",&a);
	printf("%d\n",fib1(a));
	printf("%d",fib2(a));
}
/*
4
3
3
--------------------------------
Process exited after 1.285 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/
반응형

'2019~2020 > 정보 과학' 카테고리의 다른 글

리스트,스택, 큐의 삽입, 삭제  (0) 2019.09.06
재귀함수  (0) 2019.08.30
상항식, 하향식 재귀  (0) 2019.08.23
별찍기  (0) 2019.08.23
switch-case와 while문, 함수를 사용한 사칙연산 계산기  (0) 2019.08.21
반응형
<html>
<head>
<title> SQL 테스트(php.2) </title>
</head>
<body>

<?php
include ("1.php");
$sql="select * from member";
$result = mysql_query($sql,$connect);

while ($row = mysql_fetch_row($result))
{
 echo 'ID:  '.$row[0].'  ';
 echo 'PW:  '.$row[1].'  ';
 echo 'NAME:  '.$row[2].'  ';
 echo 'E-mail:  '.$row[3].'  ';
 echo '<br>';
}
?> 

</body>
</html> ​
//php.1
<?

$DbMachine ="localhost";
$DbUser ="kjuju02";
$DbPasswd = "k5276283^";

$connect =mysql_connect ($DbMAchine,$DbUser,$DbPasswd);

mysql_select_db("kjuju02",$connect) or die ("데이터 베이스를 잘못 선택했습니다.");
mysql_set_charset ("utf-8");

?>
//insert
<?
  $id=$_POST['id'];
  $pw=$_POST['pw'];
  $name=$_POST['name'];
  $E_mail=$_POST['E_mail'];
  echo $id;
  echo "<br>";
  echo $pw;
  echo "<br>";
  echo $name;
  echo "<br>";
  echo $E_mail;
  echo "<br>";

  include("1.php");
  $sql="INSERT INTO member(id, pw, name, E_mail) VALUES('$id', '$pw;', '$name;','E_mail;')";
  $result=mysql_query($sql, $connect);

  $sql="SELECT * FROM member";
  $result=mysql_query($sql, $connect);
  while($row=mysql_fetch_row($result))
  {
	echo 'ID: '.$row[0].'  ';
	echo 'PW: '.$row[1].'  ';
    echo 'NAME: '.$row[2].'  ';
    echo 'E_mail: '.$row[3].'  ';
    echo '<br>';
  }
?>
	<form action="in.php" method="post" name="insert">
	I&nbsp;&nbsp;D:<input type="text" name="id" value=""><BR>
	P&nbsp;&nbsp;W:<input type="text" name="pw" value=""><BR>
	NAME:<input type="text" name="name" value=""><BR>
	E-mail:<input type="text" name="E_mail" value=""><BR>

	<input type="submit" name="run" value="실행">
//delete
<?
  $id=$_POST['id'];
  $pw=$_POST['pw'];
  $name=$_POST['name'];
  $E_mail=$_POST['E_mail'];
  echo $id;
  echo "<br>";
  echo $pw;
  echo "<br>";
  echo $name;
  echo "<br>";
  echo $E_mail;
  echo "<br>";

  include("1.php");
  $sql="DELETE FROM member WHERE id='$id'";
  $result=mysql_query($sql, $connect);
  $sql="SELECT * FROM member";
  $result=mysql_query($sql, $connect);
  echo "<table border=1>";
  while($row=mysql_fetch_row($result))
  {
  	echo "<tr>";
	echo "<td>";echo 'ID: '; echo "</td>";
	echo "<td>";echo $row[0]; echo "</td>";
	echo "<td>";echo 'PW: '; echo "</td>";
	echo "<td>";echo $row[1]; echo "</td>";
	echo "<td>";echo 'NAME: '; echo "</td>";
	echo "<td>";echo $row[2]; echo "</td>";
	echo "<td>";echo 'mail: '; echo "</td>";
	echo "<td>";echo $row[3]; echo "</td>";
	echo "</tr>";
  }
  echo "</table>";
?>

	<form action="de.php" method="post" name="insert">
	I&nbsp;&nbsp;D:<input type="text" name="id" value=""><BR>
	P&nbsp;&nbsp;W:<input type="text" name="pw" value=""><BR>
	NAME:<input type="text" name="name" value=""><BR>
	E-mail:<input type="text" name="E_mail" value=""><BR>

	<input type="submit" name="run" value="실행">
반응형

'2019~2020 > 웹 프로그래밍 (PHP)' 카테고리의 다른 글

Array2  (0) 2019.08.26
Array  (0) 2019.08.26
table  (0) 2019.08.26
케이스  (0) 2019.08.26
대소 비교  (0) 2019.08.26
반응형
<?php
	$town=array(
		"seoul"=>array(
			"eunpyung", "sungdong", "kangnam"
			),

		"busan"=>array(
			"haeundae", "saha", "yeongdo")
		    );
	//saha가 출력된다.
	
	print ($town["busan"][1]);
?>
반응형

'2019~2020 > 웹 프로그래밍 (PHP)' 카테고리의 다른 글

insert - delete  (0) 2019.08.26
Array  (0) 2019.08.26
table  (0) 2019.08.26
케이스  (0) 2019.08.26
대소 비교  (0) 2019.08.26

+ Recent posts