728x90
반응형
오늘 알게된 새로운(?) cpp를 공부하면서 느낀 점은 가장 기본적인 것부터 공부하면서 알게되었습니다.
그동안 using namespace std;를 써서
네임스페이스를 활용하여왔는데 매번 std::를 표기해주는 버릇을 들이는 편이 좋다는 것이었습니다.
std 네임스페이스를 가져올때 이름선언이 충돌할 수 도 있기때문입니다.
지금이야 간단한 연습용 코드들만 쓰기때문에 문제가 없어왔지만
실무로 들어가게 되면 보다 구조가 복잡하고 양이 많은 상용수준의 코드에서는 충돌경우가 많기때문에 std::를 표현하는것이 더 훌륭한 코드연습입니다.
또한 pow함수에 대해 잊고있었는데 cmath가 제공하는 함수로 제곱수가 가능합니다.
pow(5,4) = 5의 4제곱입니다.
또한 round는 반올림 함수라는것을 잊지맙시다.
항상 기본적인 문법조차 까먹는데 앞으로가 걱정되네요.
본론으로 오늘의 과제
배열의 합과 평균 그리고 정렬함수 만들기의 코드입니다.
#include <iostream>
float sum(float arr[], int size) {
float total = 0;
for (int i = 0; i < size; i++) {
total += arr[i];
}
return total;
}
float averge(float arr[], int size) {
float result = sum(arr, size) / size;
return result;
}
void sortUp(float arr[], int size) {
for (int i = 1; i < size; i++) {
float key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
void sortDown(float arr[], int size) {
for (int i = 1; i < size; i++) {
float key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] < key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
int main()
{
float array[5];
for (int i = 0; i < 5; i++) {
std::cout << i+1<<" 번째숫자 입력 : ";
std::cin >> array[i];
}
float totalSum = sum(array, 5);
float avergeResult = averge(array, 5);
std::cout << "배열의 합:" << totalSum << std::endl;
std::cout << "배열의 평균: " << avergeResult << std::endl;
sortUp(array, 5);
std::cout << "오름차순 정렬: ";
for (int i = 0; i < 5; i++) {
std::cout << array[i] << " ";
}
std::cout << std::endl;
sortDown(array, 5);
std::cout << "내림차순 정렬: ";
for (int i = 0; i < 5; i++) {
std::cout << array[i] << " ";
}
std::cout << std::endl;
return 0;
}
정렬 알고리즘은 삽입 정렬을 이용하였습니다.
728x90
반응형
'언리얼(Unreal) > 엔진' 카테고리의 다른 글
25.01.02 언리얼 cpp STL에 대하여 (0) | 2025.01.02 |
---|---|
24.12.30 언리얼 cpp 자원관리(메모리관리) (0) | 2024.12.30 |
24.12.24 언리얼 cpp 객체지향에 대하여 (1) | 2024.12.24 |
24.12.23 언리얼 cpp 기초 복습 (0) | 2024.12.23 |
24.12.20 언리얼(콜리전) (0) | 2024.12.20 |