반응형
1. 배열 int arr[] = {1,6,9,7,3,2,0,4,8,5}를 가지고 다음 프로그램을 작성하시오.
(1) arr의 모든 원소의 합을 구하는 프로그램
(2) arr의 최솟값과 최댓값을 구하는 프로그램
(3) arr의 원소들을 역순으로 재구성하는 프로그램
(4) arr의 원소들을 오름파순으로 정렬하여 재구성하는 프로그램
#include <iostream>
using namespace std;
void funcprint(int arg[], int arrLen);
void funcsum(int arg[], int arrLen);
void funcmaxmin(int arg[], int arrLen);
void inversesort(int arg[], int arrLen);
int main(void){
int arr[] = {1,6,9,7,3,2,0,4,8,5};
int arrLen = sizeof(arr) / sizeof(arr[0]);
funcprint(arr, arrLen);
funcsum(arr, arrLen);
funcmaxmin(arr, arrLen);
inversesort(arr,arrLen);
}
void funcprint(int arg[], int arrLen){
cout << "====기존의 배열====" << endl;
for(int i = 0; i < arrLen; i++){
cout << arg[i] << " ";
}
cout << endl;
}
void funcsum(int arg[], int arrLen){ //int *arg로 받는다.
int sum = 0;
for(int i = 0; i < arrLen; i++){
sum += arg[i];
}
cout << "배열의 합은 : " << sum << endl;
}
void funcmaxmin(int arg[], int arrLen){
int max = arg[0];
int max_cnt = 1;
int min_cnt = 1;
int min = arg[0];
for(int i = 1; i < arrLen; i++){
if(max < arg[i]){
max = arg[i];
max_cnt = i + 1;
}
if(min > arg[i]){
min = arg[i];
min_cnt = i+1;
}
}
cout << "배열의 최대값 : " << max << " 위치는 : " << max_cnt << "번째에 위치"<< endl;
cout << "배열의 최솟값 : " << min << " 위치는 : " << min_cnt << "번째에 위치"<< endl;
}
void inversesort(int arg[], int arrLen){
int tmp = 0;
int cnt = 0;
for(int i = 9; i >= (arrLen/2); i--){
tmp = arg[cnt];
arg[cnt] = arg[i];
arg[i] = tmp;
cnt++;
}
cout << "====역순으로 재배열한 배열====" << endl;
for(int i = 0; i < arrLen; i++){
cout << arg[i] << " ";
}
cout << endl;
}
2. 다음은 네 학생의 국어, 영어, 수학 성적이다. 각 학생별 총점을 구하고, 각 과목별 평균을 출력하시오.
번호 | 국어 | 영어 | 수학 |
1 | 100 | 100 | 50 |
2 | 60 | 70 | 80 |
3 | 70 | 80 | 90 |
4 | 80 | 100 | 90 |
#include <iostream>
#include <iomanip>
using namespace std;
int sumarr[4];
double avgarr[3];
void funcsum(int num[], int korarr[], int engarr[], int matharr[]);
void funcavg(int korarr[], int engarr[], int matharr[]);
int main(void){
int numarr[4] = {1,2,3,4};
int korarr[4] = {100,90,70,80};
int engarr[4] = {100,70,80,100};
int matharr[4] = {50,80,90,90};
funcsum(numarr,korarr,engarr,matharr);
funcavg(korarr,engarr,matharr);
}
void funcsum(int num[], int korarr[], int engarr[], int matharr[]){
for(int i = 0; i < 4; i++){
sumarr[i] = korarr[i] + engarr[i] + matharr[i];
cout << num[i] << "번의 총점: " << sumarr[i] << endl;
}
}
void funcavg(int korarr[], int engarr[], int matharr[]){
cout << "=========평균=========" << endl;
cout << "국어" << setw(7) << "영어" << setw(7) << "수학" << endl;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 4; j++){
if(i==0)avgarr[i] += korarr[j];
if(i==1)avgarr[i] += engarr[j];
if(i==2)avgarr[i] += matharr[j];
}
cout << " " << avgarr[i]/4 << setw(4);
}
}
설명은 생략하겠습니다~~
'Algorithm > 기본개념과 원리로 배우는C++' 카테고리의 다른 글
기본 개념과 핵심 원리로 배우는 C++ 프로그래밍 9장 프로그래밍 문제 (0) | 2023.10.31 |
---|---|
기본 개념과 핵심 원리로 배우는 C++ 프로그래밍 10장 프로그래밍 문제 (1) | 2023.10.31 |
개념과 핵심원리로 배우는 C++ 프로그래밍 5장 프로그래밍 문제 (0) | 2023.10.31 |
개념과 핵심원리로 배우는 C++ 프로그래밍 4장 프로그래밍 문제 (0) | 2023.10.31 |
개념과 핵심원리로 배우는 C++ 프로그래밍 3장 프로그래밍 문제 (0) | 2023.10.31 |