Link
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 아이엔이야기
- 쌍대성원리
- wxMaxima install for mac os
- 오일러투어
- 청년도배사 이야기
- 티스토리챌린지
- 정보처리기사공부방법
- 합의정리
- 허스켈그래프
- 윤파고
- 최단경로문제
- playground배열
- 숫타니파아타
- 등록금0원
- 직선의방정식
- wxmaxima
- 다자녀장학금
- 집착형
- 배윤슬
- 2023채용박람회
- 맥북에서 wxMaxima 설치
- 데이터베이스시스템
- kgol
- 오블완
- 이런 사람에게 "절대" 돈과 시간 쓰지 마세요. (이헌주 교수 3부)
- 이분그래프
- 제거된값 첨부하기
- 그래프2
- 나르시스트
- 무소의뿔
Archives
- Today
- Total
사적공간
[2][3] 숫자배열에 값 입력받고, 최댓값과 최솟값 좌표 함수로 확인 후 메인함수에서 출력. 본문
#include <iostream>
using namespace std;
int arr[2][3]; // 전역배열 선언
void input() { // 입력을 받는 함수
for (int y = 0; y < 2; y++) {
for (int x = 0; x < 3; x++) {
cin >> arr[y][x];
}
} return;
}
int getMax(int* dy, int* dx) { // 최대값 구하는 함수, 주소를 받음
int max = arr[0][0];
for (int y = 0; y < 2; y++) {
for (int x = 0; x < 3; x++) {
if (max < arr[y][x]) max = arr[y][x]; // 조건식에 맞아야 max값이 갱신되고, y와 x도 갱신됨.
}
}
for (int y = 0; y < 2; y++) { // 최댓값을 찾음(이렇게 할 필요가 없는데)
for (int x = 0; x < 3; x++) {
if (max == arr[y][x]) {
*dy = y;
*dx = x;
}
}
}
return *dy, *dx;
}
// 아래 최솟값 구하는 것도 최댓값 구하는 것과 원리는 상동함.
int getMin(int* dy, int* dx) {
int min = arr[0][0];
for (int y = 0; y < 2; y++) {
for (int x = 0; x < 3; x++) {
if (min > arr[y][x]) min = arr[y][x];
}
}
for (int y = 0; y < 2; y++) {
for (int x = 0; x < 3; x++) {
if (min == arr[y][x]) {
*dy = y;
*dx = x;
}
}
}
return *dy, *dx;
}
int main() {
input(); // input 함수 호출
int maxY, maxX, minY, minX;
getMax(&maxY, &maxX); // 주소를 매개변수로 던져줌.
getMin(&minY, &minX);
cout << "(" << maxY << "," << maxX << ")" << endl; // 출력.
cout << "(" << minY << "," << minX << ")" << endl;
return 0;
}
최댓값 최솟값을 구할 때, 조건식을 걸고서, 이중for문이 끝나면 if 조건식 안에 max,min의 갱신과 더불어서 y와 x좌표도 실시간으로 갱신하고, void 함수로 선언하면 어차피 call by reference 라서 for문이 끝나면 return 으로 반환 없이 변수안에 값을 바꿀 수 있음.
위처럼 바보같이 함수 안에 이중 for문을 두 개 쓸 필요가 없음.
'KNOU_CS > C++' 카테고리의 다른 글
대문자를 입력 받고 입력 받은 대문자의 종류의 개수를 세기 (0) | 2024.09.30 |
---|---|
town에서 black 찾기 (1) | 2024.09.27 |
문자열을 입력받고 가장 빈번한 문자 출력 (0) | 2024.09.27 |
DAT 자료구조 연습, 숫자 하나 입력 받고 배열에서 같은 숫자 세기 (0) | 2024.09.27 |
10줄 미만 문자열 입력받고 알파벳 순서대로 개수 세고 출력. (0) | 2024.09.26 |