총 26개
-
[자료구조] 동적메모리를 구현하고 출력하는 소스코드2025.05.051. 동적 메모리 할당 이 코드는 동적 메모리 할당을 사용하여 구조체 배열을 생성하고 값을 할당한 후 출력하는 예제입니다. malloc() 함수를 사용하여 메모리를 동적으로 할당하고, 구조체 포인터 p를 통해 메모리에 접근하여 값을 설정합니다. 마지막으로 free() 함수를 사용하여 동적으로 할당된 메모리를 해제합니다. 1. 동적 메모리 할당 동적 메모리 할당은 프로그램 실행 중에 필요한 메모리 공간을 동적으로 할당하는 기능입니다. 이를 통해 프로그램은 실행 시간에 메모리 요구량을 유연하게 조절할 수 있습니다. 동적 메모리 할당은 ...2025.05.05
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제42025.01.201. 구조체 과제(4)에서는 구조체 rect를 정의하고, 이를 원소로 가지는 배열 shapes를 선언 및 초기화합니다. 이후 for문을 통해 shapes 배열의 각 원소에 대해 calc_area 함수를 실행하여 면적을 계산하고 출력합니다. 2. 포인터 2번 문제에서는 int형 변수 x, y의 값을 swap 함수를 통해 교환합니다. swap 함수는 int형 포인터 변수 px, py를 매개변수로 받아 간접 참조를 통해 값을 교환합니다. 3번 문제에서는 레퍼런스를 사용하여 동일한 기능을 구현합니다. 3. qsort 4번 문제에서는 qso...2025.01.20
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 3장 연습문제 (해설 포함)2025.05.141. 2차원 배열의 메모리 크기 2차원 배열이 메모리에서 차지하는 크기는 행의 개수와 열의 개수, 그리고 각 요소의 크기를 곱하여 계산할 수 있다. 문제에서 제시된 10행 20열의 int형 2차원 배열은 10 x 20 x 4 = 800바이트의 크기를 차지한다. 2. 배열의 시작 주소 배열의 시작 주소는 배열의 첫 번째 요소가 저장되는 공간의 주소이다. 문제에서 배열의 첫 번째 요소가 1000번지에 저장된다고 했으므로, 10번째 요소는 1000 + (4 x 10) = 1040번지에 저장된다. 3. 배열의 크기 비교 배열의 크기는 각 ...2025.05.14
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 6장(연결리스트) 연습문제 (해설 포함)2025.05.161. 원형 연결 리스트 원형 연결 리스트는 마지막 노드의 포인터가 첫 번째 노드를 가리킨다. 2. 배열 n번째 요소를 찾는다는 것은 특정한 값을 탐색한다는 것이 아니다. 즉 특정 요소로 접근하겠다는 의미인데, 이를 가장 빠르게 할 수 있는 것은 당연히 배열이다. 배열은 인덱스를 통해 특정 요소로 가장 빠르게 접근할 수 있는 자료구조다. 한 번에 접근이 가능하므로 당연히 시간복잡도는 O(1)이다. 3. 단순 연결리스트 단순 연결리스트의 마지막 노드의 링크(link) 필드는 항상 NULL을 가리킨다. 따라서 last->link==NUL...2025.05.16
-
[자료구조] 자체참조구조체 소스코드 구현2025.05.051. 자체 참조 구조체 자체 참조 구조체는 자신과 같은 구조체 형태를 가진 다른 구조체를 가리키는 구조체입니다. 이 코드에서는 student 구조체를 정의하고, 각 student 구조체 객체는 다음 student 구조체를 가리키는 포인터 next를 가지고 있습니다. 이를 통해 연결 리스트 형태로 student 구조체들을 연결할 수 있습니다. 1. 자체 참조 구조체 자체 참조 구조체는 데이터 구조에서 매우 중요한 개념입니다. 이는 구조체 내부에 자신과 동일한 타입의 멤버 변수를 포함하는 구조체를 의미합니다. 이러한 구조체는 복잡한 데...2025.05.05
-
자료구조 구조체 배열를 활용한 소스코드 구현2025.05.051. 구조체 배열 이 코드는 구조체 배열을 사용하여 학생 정보를 관리하는 예제입니다. 구조체 StudentType에는 학생의 이름과 생일 정보가 포함되어 있으며, 최대 200명의 학생 정보를 저장할 수 있습니다. Display 함수는 학생 정보를 출력하고, Replace 함수는 첫 번째 학생의 정보를 변경합니다. main 함수에서는 첫 번째 학생의 정보를 초기화하고, Display와 Replace 함수를 호출하여 학생 정보를 확인하고 변경합니다. 1. 구조체 배열 구조체 배열은 프로그래밍에서 매우 유용한 데이터 구조입니다. 구조체는...2025.05.05
-
자료구조 1학기 중간시험2025.05.051. 1차원 정수배열 정렬 1차원 정수배열 x[10]을 0으로 초기화하고 내림차순으로 정렬하는 함수를 작성하고 메인프로그램을 완성하는 문제입니다. 함수의 첫 번째 매개변수는 배열의 주소이고, 두 번째 매개변수는 새로운 값입니다. 2. 구조체 배열 입력 struct student {char name[10], int student_number, char depart[10];}; 구조체를 정의하고, struct student stu[10]에 키보드에서 값을 넣는 함수를 작성하고 메인 프로그램을 완성하는 문제입니다. 3. 단순 연결리스트 ...2025.05.05
-
[A+레포트] 자료구조_C언어로 구현한 배열과 구조체의 차이점을 설명하시오2025.01.141. 배열 C언어에서 배열은 같은 유형의 데이터 요소들을 연이어 저장하는 데 사용됩니다. 배열을 활용하여 성적 처리 프로그램을 구현할 경우, 학생들의 성적 정보를 효율적으로 관리할 수 있습니다. 하지만 배열은 숫자 데이터만 저장할 수 있기 때문에, 학생의 이름이나 학번과 같은 문자열 정보를 함께 저장하고 처리하기 어려운 단점이 있습니다. 2. 구조체 C언어의 구조체는 다른 유형의 변수들을 하나의 논리적 단위로 묶어 관리하는 데 사용됩니다. 구조체를 활용하면 학생의 성적 정보뿐만 아니라 이름, 학번 등 다양한 정보를 함께 저장하고 처...2025.01.14
-
다항식 연산 구현: 추가, 덧셈, 비교, 출력2025.11.121. 다항식 자료구조 다항식을 표현하기 위한 두 가지 자료구조 방식이 제시된다. 첫 번째는 차수(degree)와 계수 배열(coef)을 포함하는 구조체로, 최대 차수 101까지 지원한다. 두 번째는 계수와 지수 쌍을 저장하는 terms 배열 방식으로, 희소 다항식 표현에 효율적이다. 두 방식 모두 다항식의 항들을 체계적으로 관리하고 연산을 수행하기 위한 기본 구조를 제공한다. 2. 다항식 덧셈 알고리즘 두 다항식 A와 B를 더하는 poly_add1 함수는 각 다항식의 차수를 비교하며 진행한다. 차수가 높은 항부터 결과 다항식에 복사...2025.11.12
-
[자료구조] 구조체 배열을 이용한 추가 삭제 SUM을 구현한 소스코드2025.05.051. 자료구조 이 코드는 배열을 이용한 리스트 ADT(Abstract Data Type)를 구현한 것입니다. 구조체 ArrayListType을 정의하고, 초기화, 추가, 삭제, 합계 등의 기능을 구현하고 있습니다. 배열의 크기는 MAX_LIST_SIZE로 정의되어 있으며, 배열의 길이를 나타내는 length 변수를 사용하여 리스트의 크기를 관리합니다. 이를 통해 리스트의 기본적인 CRUD(Create, Read, Update, Delete) 연산을 수행할 수 있습니다. 2. 배열 이 코드에서는 배열을 사용하여 리스트를 구현하고 있습...2025.05.05
