C++
C++ - 클래스를 이용한 평균 값 구하기 및 버블정렬
workbench34
2024. 12. 23. 20:14
#include<iostream>
using namespace std; //cout,cin등 여러 std 문을 편하게 사용하기 위함
int sum(int a[],int size) //더하기 함수
{
int all = 0;
for (int i = 0; i < size; i++) {
all += a[i];
}
return all;
}
double avg(int b,int size) //평균 함수
{
return (double)b / size; //소수점 이하를 표현하기 위한 (double) 삽입
}
int bubble(int a[], int size) //버블정렬 함수
{
int select = 0;
int temp = 0;
while (select != 3) {
cout << endl << "1 번은 오름차순, 2 번은 내림차순, 3번은 끝내기 :";
cin >> select;
if (select == 1) {
for (int i = size - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
else if (select == 2) {
for (int i = size - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
else if (select == 3) { cout << "결과를 한번 더 보여드리고 끝내겠습니다."; }
else { cout << "틀린 입력입니다. 현재 배열의 상태입니다."; }
for (int i = 0; i < size; i++) {
cout << endl << a[i];
}
}
return 0;
}
int main() {
int k = 0;
while (k != 2)
{
int size = 0;
cout << "크기를 정하세요 : ";
cin >> size;
if (size <= 0) cout << "값이 성립할 수 없습니다.";
else {
int* score = new int[size] {0};
for (int i = 0; i < size; i++) {
cout << i + 1 << "번째 숫자를 입력해주세요";
cin >> score[i];
cout << endl;
}
cout << avg(sum(score, size), size);
bubble(score, size);
delete score; //동적할당 제거
}
cout <<endl << "값을 바꾸려면 1번, 끝내려면 2번을 입력해주세요:";
cin >> k;
}
return 0;
}