본문 바로가기

배열

발판 만들기 프로그램 임의의 5x5 점수판에 대해서 ( 0, 0)에서부터 시작해서 점수판을 상하좌우로 나아가자. 이때 현재 밟고 있는 점수와 가장 차이가 적은 발판으로 진행한다고 할 때, 받는 점수와 총 점을 구해보자. 단, 발판을 몇 번 밟을 건지는 입력받도록 하고, 최초 시작은 (0, 0)부터 시작하며 이 발판에 해당하는 점수도 총점에 포함된다. 점수는 1부터 100까지. 예를 들어 7번 움직인다고 가정했을 때, 소스 코드 #include //표준입출력 #include //rand()함수사용가능 (0~32367사이) #include //시간함수지만 난수 생성 시 사용 #include int main() { int arr[5][5]; //배열 가로세로 5개씩. int i, j, step; int x, y, c_x, c_y,.. 더보기
[C언어] 1차원 배열의 주소와 값의 참조 [C언어] 1차원 배열의 주소와 값의 참조 안녕하세요 지토우에요~이번엔 1차원 배열의 주소와 값의 참조에 대해 공부해봅시다. 1. &는 주소를 참조하는 연산자 우선, &에 대해 약간의 설명을 해드리겠습니다.&는 엠퍼센트라고 읽습니다.and를 대신하는 타이포그래픽 부호라고는 하는데,보통 c언어에서는 주소연산자라고 기억하시면 됩니다. &를 사용하면 메모리 공간의 주소를 표현할 수 있는데요.다음 표를 봐주세요. 변수의 주소 참조 배열의 주소 참조 사용법 &변수 이름 &배열 요소 ex) int a=10;printf("%x \n", &a) // a의 주소 int array[2]={10,2}printf("%x \n", &array[0]); // array[0]의 주소printf("%x \n", &array[1]);.. 더보기
[C언어] 배열 선언 시 주의할 점 [C언어] 배열 선언 시 주의할 점 안녕하세요 . 지토우에요. 주말에는 포스팅하기가 어려워서 자꾸 1일 1 포스팅의 약속을 지키지 못하게 되네요... 예약을 걸어서라도 약속을 지키도록 하겠습니다 ㅠ ㅠ 어쨌든, 오늘은 배열 선언 시에 주의할 점에 대해서 알려드릴게요. 1. 배열 요소는 0부터 시작 다음 코드에서 int array[2]는 배열 요소를 총 2개 선언하고 있습니다. 그런데 array[2]=3은 배열의 세 번째 요소에서 데이터 3을 저장하라는 의미로 에러가 발생합니다. 왜냐하면, 배열의 요소는 0부터 시작하기 때문이죠! array[0], array[1]은 존재하지만 array[2]는 존재하지 않습니다. 2. 배열 초기화를 중괄호로 할 때 배열의 선언과 초기화가 개별적으로 이뤄어지면 안됨 다음 코.. 더보기
[C언어] 배열에 데이터 저장하기 [C언어] 배열에 데이터 저장하기 안녕하세요 지토우에요. 지난 시간에 이어 배열의 두번째 시간인데요! 배열에 데이터 저장하는 법을 배워봅시다. 1. 배열에 데이터 저장하기 배열을 선언하고 나면 비로소 배열에 데이터를 저장할 수 있습니다. 4번째 행에서 배열을 선언했습니다. 이후 6,7,8 행에서 배열의 첫번째 두번째 세번째 요소에 각각 데이터를 저장했고요. 10,11,12 행에서는 각각 100,90,80가 출력될겁니다. 그런데 13행에서는 어떻게 될까요? 결과를 알기 위해 컨트롤+F5 를 해서 빌드해줍니다. 띠용~ 디버그 에러라고 뜨네요. 이유는 초기화되지 않은 'score' 지역 변수를 사용했기 때문입니다. 여기서 무시를 눌러주면, 값이 나오긴 하지만 네번째 점수는 쓰레기값이 나오는군요. 배열에 데이터.. 더보기
[C언어] 1차원 배열 (1) 1차원 배열 (1) 안녕하세요 지토우에요.자료구조 공부하기 전에,먼저 배열에 대해 더 알아보면 좋을 것 같아서씨언어 메뉴도 만들고 새로 글도 썼습니다 ㅎㅎ오늘도 행복한 하루 되세요 ^^ 1. 1차원 배열이란 배열의 간단한 특징들은 다음과 같습니다. * 같은 자료형을 가진 연속된 메모리 공간으로 이루어진 자료구조* 같은 자료형을 가진 변수들이 여러 개 필요할 때 사용* 많은 양의 데이터를 처리할 때 유용 이렇게 활자로만 보면 사실 감이 잘 안오실겁니다.예시를 들어볼게요. name이라는 이름을 가진 변수를 선언해야 한다고 합시다.배열을 모른다는 가정하에, 우리는 다음과 같이 선언하게 됩니다. name1, name2, ... , name10 이런 식으로 하나하나 변수를 언제 다 선언하는 것은 번거로운 일이지요.. 더보기
[자료구조] 배열 [자료구조] 배열 안녕하세요. 지토우에요. 오늘은 자료구조에서도 배열에 대해 알아볼까요? 사실 배열(array)은 거의 모든 프로그래밍 언어에서 기본적으로 제공되는 데이터 타입입니다. C언어를 배우신 분은 거기서도 배우셨을거에요. 1. 배열의 개념 배열(array)을 사용하면 인덱스(index) 번호를 기준으로 작업을 할 수 있기 때문에 인덱스 번호에 따라 효율적으로 루프를 설정해 여러 상황에서 간단한 코드를 이용해 결과를 나타낼 수 있습니다. 즉, 효율적으로 프로그램을 작성할 수 있다는 것이지요. 또, 배열의 가장 기본적인 특징은 배열은 쌍의 집합이라는 것인데요. 인덱스가 주어지면 해당하는 요소(element)가 대응되는 자료 구조입니다. 배열에서는 인덱스를 사용해 요소에 직접 접근합니다. 우리는 앞서.. 더보기