C++ 120

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

문제 1. 크기가 가로 4, 세로 5인 2차원 배열을 다음과 같이 채우고 출력하는 프로그램  1 2 3 48 7 6 59 10 11 1216 15 14 1317 18 19 20 #include int main(){ const int nSize1 = 5; const int nSize2 = 4; int arData[nSize1][nSize2]{}; int nData{}; int nCount{}; int nRemainder{}; nData = 1; for (int i = 0; i = 0; j--) { arData[i][j] = nData; nData++; } } } for (int i = 0; i 변수 설명nSize1 및 nSize2: 배열의 크기를 정의합니다. nSize1은 행..

C++ 2024.09.12

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

문제 1. 2차원 배열에 5씩 끊어서 25까지 출력하는 프로그램 #include int main(){ const int nSize1 = 5; const int nSize2 = 5; int arData[nSize1][nSize2]{}; int nData{}; nData = 1; for (int i = 0; i const를 사용하여 nSize1과 nSize2를 5로 설정하여 배열의 크기를 고정arData는 nSize1 x nSize2 크기의 2차원 배열로 선언nData는 1부터 시작하여 배열을 채움2중 for 루프를 사용하여 배열을 채우고, 각 값을 printf로 출력 문제 2. 5x5 마방진 프로그램#include int main(){ int arData[5][5]{}; int nIndex1{}; int ..

C++ 2024.09.11

[강의] 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

[강의] 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

[강의] 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

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

반복문 while에 대한 수업을 들었다. 반복문의 기본 개념반복문은 조건이 참일 때 실행된다. 즉 반복문은 조건문이 참일 때 그 내부 코드를 반복해서 실행하는 구조 반복문은 조건문이 참일 때 실행하게 되고 반목문 안에서 조건을 걸어 거짓이 나오게 되면 탈출하게 되는 개념이다.즉, 핵심은 반복문은 "탈출"보다는 "조건이 참일 때 계속 돌아간다"는 개념을 먼저 이해하는 것이 중요하다. 예시)#include int main() { int nData{}; nData = 2; while(nData 정수형 nData를 생성 후 nData의 값이 2라는 정수를 저장while의 조건문에 nData 아직 탈출 구문을 안 넣었기에 무한히 반복 값 증가/감소값을 증가시키거나 감소시키는 방법 :기본 방식: nData = nD..

C++ 2024.08.27