전체 글 219

[강의] 9월 6일 수업정리

- 과제 복기 - 배열 중 가장 작은 수를 구하는 프로그램 (Index를 이용)강사님이 작성한 코드는 배열에서 가장 작은 값을 가진 요소의 인덱스를 구한 뒤, 해당 인덱스와 값을 출력하였다.#include int main(){ int arData[5]{ 7,10,11,13,15 }; int nMinDataIndex{}; nMinDataIndex = 0; for (int i = 0; i arData[i]) nMinDataIndex = i; } printf("index : %d, Data : %d\n", nMinDataIndex, arData[nMinDataIndex]);}강사님께서 짜주신 코등이가 내 코드와 무엇이 다른지 비교해 보겠다. 강사님 코드 : 배열에서 가장 작은 값의 인덱스를 저장한 후, ..

C++ 2024.09.07

[과제] 배열 중 가장 작은 수를 구하는 프로그램 (index를 이용)

- int형 배열에 데이터 10개 존재 (단, 중복되는 데이터는 없다 [고유 데이터])#include int main(){ const int nSize = 10; int arData[nSize]{ 120,42,32,12,7,100,5,10,3,2 }; int nMin{}; nMin = arData[0]; for (int i = 1; i arData[i]) nMin = arData[i]; } printf("%d", nMin);}cosnt ( 상수 : 변하지 않는 값)  키워드를 사용하여 nSzie를 10로 고정시킴.arData라는 배열을 생성하고 nSize의 값을 배열의 크기로 지정 후, 초기 값 설정정수형 변수인 nMin을 선언 후 초기값으로 배열의 첫 번째 값인 arData[0]을 저장 for문을..

과제 2024.09.06

[강의] 9월 5일 수업정리

오늘도 배열에 대해 공부하였다. 배열에서 중요한 점배열의 인덱스 고유 ID배열은 인덱스의 고유 ID를 사용하여 관리하는 방식으로 설계된다. 고유 ID와 데이터는 쌍으로 이루어져 있으며, 고유 ID를 통해 데이터를 호출할 수 있다.그러나 데이터를 통해 고유 ID를 역으로 찾는 것은 불가능하며, 처음부터 순차적으로 데이터를 탐색해야 한다.즉, 배열에서 가장 중요한 것은 인덱스지만, 데이터를 보고 인덱스를 직접적으로 찾을 수는 없다.배열을 사용할 때 주의할 점배열 사이즈를 직접 얻어오지 말라.이유는 안전성 문제이다. 일반적으로 sizeof를 사용하여 배열의 크기를 구하지만, 이 방법은 포인터를 사용할 때 잘못된 값을 반환할 수 있어 권장되지 않습니다.대신 sizeof를 사용할 때 자료형을 직접 명시하는 습관을..

C++ 2024.09.06

[강의] 9월 4일 수업정리

오늘은 배열에 대한 수업을 하였다.배열배열(Array): 순서대로 번호가 붙은 원소들이 연속적인 형태로 구성된 데이터 구조. 쉽게 말해, 변수에 이름을 붙이고 순서대로 번호를 매긴 것과 유사하다.메모리 할당: 배열을 선언하면 특정 크기의 메모리가 연속적으로 할당이 된다. 예를 들어, int arData [5];는 정수형(int) 데이터 5개를 저장할 수 있는 배열을 생성한다.int arData[5]{};arData[2];int arData [5]; : 크기 5의 정수형 배열 생성, 메모리를 잡아줌 (개수 요청) arData [2]; : 배열의 세 번째 원소에 접근, 인덱스에 접근- 인덱스는 0부터 카운트를 시작한다.  C++ 배열의 문제점배열을 사용할 때의 어려운 점 중 하나는 잘못된 인덱스 접근에 대한..

C++ 2024.09.05

[강의] 9월 3일 수업정리

for문에 관한 문제를 풀었다. 문제 1. *을 이용하여 X자 그리기 (숫자를 비교하여 조건을 만듦) #include int main(){ for (int i = 0; i  i == j는 왼쪽 위에서 오른쪽 아래로 가는 대각선, i + j == 4는 오른쪽 위에서 왼쪽 아래로 가는 대각선을 그림두 조건을 조합하여 X자를 그린다. 문제 2. *을 이용하여 삼각형 그리기 (상하좌우 반전 포함, 숫자 비교 조건) 1. 일반 삼각형#include int main() { for (int i = 0; i = j) printf("*"); else printf(" "); } printf("\n"); }}i >= j 조건은 삼각형의 왼쪽 아래를 기준으로 별을 출력 2. 좌우 반전 삼각형 #include..

C++ 2024.09.04

[과제] for문을 사용하여 피라미드를 만들어 보아라

for문을 사용하고 if문 조건에 숫자를 비교하여 피라미드를 만들어보아라 1. 피라미드#include int main(){ for (int i = 0; i 3 && j - i = 4 && i + 4 >= j) printf("*"); else printf(" "); } printf("\n"); }}for문을 사용하여  i는 5 미만까지 반복 (세로),  j는 9 미만까지 반복 (가로)조건을 걸어 i + j이 3 초과이고 j - i 가 5 미만일 때 충족한다면 " * "을 출력하고 아니라면 공백을 출력이 조건은 중앙을 기준으로 별을 출력해 피라미드 모양을 형성결과 :        *   ***  ***** **************** 2. 피라미드가 아닌 부분 #include int m..

과제 2024.09.04

[예습] 9월 2일 예습

반복문 for에 관한 이야기. 반복문 (Loop)반복문은 일정한 규칙에 따라 특정 작업을 정해진 범위까지 또는 무한히 반복하는 제어문이다반복문에는 while, do-while, for 문이 있으며, break, continue 문과 함께 사용될 수 있고 반복문은 중첩되어 사용할 수 있으며, 이를 다중 반복문이라고도 한다. for 문for 문은 특정 횟수나 구간에서 변수를 증감시키면서 반복을 수행할 때 매우 유용하며, 조건식의 결과가 참(true)인 동안 반복을 수행하며, 거짓(false)이 되면 반복을 종료한다.for 문의 기본 구조for(변수 초기화(시작점); 조건식(도착점 및 반복 횟수); 증감식(보폭)) { 조건식이 true일 때 실행되는 구현부} 초기화: 반복에 사용할 변수를 초기화조건식: 반복을..

예습 2024.09.02

[강의] 8월 30일 수업정리

오늘의 문제 예제1. 공약수를 구하는 프로그램조건 - 0보다 큰 int형 변수를 2개 입력 받아라.#include int main(){ int nInput1{}; int nInput2{}; int nNumber{}; int nRemainder1{}; int nRemainder2{}; int nMin{}; scanf_s("%d", &nInput1); scanf_s("%d", &nInput2); nNumber = 1; nMin = nInput1; if (nInput1 > nInput2) nMin = nInput2; while (nNumber 정수형 변수 nInput1, nInput2, nNumber, nRemainder1, nRemainder2, nMin를 선언scanf_s를 이용하여 nInput1, nI..

C++ 2024.08.30

[강의] 8월 29일 수업정리

예제를 통해 if문과 반복문을 연습함 예제1. 모든 약수의 갯수를 출력하는 프로그램( 1보다 큰 정수를 입력받아 그 수의 약수 개수를 출력하라.)#include int main(){ int nNumber{ 1 }; int nInput{}; int nRemainder{}; int nMeasureCount{}; scanf_s("%d", &nInput); while (nNumber nNumber, nInput, nRemainder, nMeasureCount라는 정수형 변수를 생성, nNumber는 1로 고정scanf_s를 이용하여 nInput에 입력한 값을 저장while문을 사용하여 nNumber가 nInput 보다 작거나 같을 때까지 반복한다.nRemainder에 nInput에서 nNumber를 나눈값을 저..

C++ 2024.08.29

[강의] 8월 28일 수업정리

오늘의 수업은 주어진 예제를 풀어보았다. 1. 특정숫자를 입력을 받아 1부터 입력한 숫자까지 출력하자.(0보다 큰 수를 입력하기로 하자)#include int main() { int nInput{}; int nData{ 1 }; scanf_s("%d", &nInput); while(nInput >= nData) { printf("%d\n", nData); nData++; }}정수형 변수인 nInput, nData 설정scanf_s를 이용하여 nInput에 값을 입력받아 저장while문을 사용하여 nData가 nInput 하고 똑같아질 때까지 반복하여 숫자를 출력.2. 입력한 숫자를 데이터로 나눠서 약수를 구해라.#include int main() { int nInput{}; int nData{ 1 }..

C++ 2024.08.28