반응형
#include <iostream> //선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용
using namespace std; //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout
void swap(); //함수 선언문
int main() // 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
{
int arr[5]; //배열 arr[]를 메모리값의 크기가 5인 배열 선언
int temp = 0; // temp라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화
cout << "=====input=====" <<endl; //출력문
for(int i=0; i<5; i++){ //조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++
cout << i+1 << "번째 숫자 : "; //i는 0부터니까 i+1부터 시작 출력문
cin >> arr[i]; //0부터 4까지 arr[i]에 값 입력
}
cout << "============data============" <<endl; //출력문
cout << "현재 들어간 숫자 : "; //출력문
for(int i=0; i<5; i++){ //조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++
cout << arr[i] << " "; //arr[] 배열값에 뭐가 들어가있는지 출력
}
cout << endl; //줄 바꿈
cout << "============swap============" << endl; //출력문, 줄바꿈
for(int j=0; j<5; j++){ //0~4까지 1씩 증가//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
for(int i=j; i>=1; i--){ //0~2까지 1씩 증가 //조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
if(arr[i] > arr[i-1]){ //arr[i]가 a[i+1]보다 클때 실행
swap(arr[i], arr[i-1]); //swap 함수사용
}
cout << "정렬 : "; // for문이 2개이기때문에 j+1 - i+1 로 출력문을 써준다
for(int q=0; q<5; q++){ //조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로0~5 1++
cout << arr[q] << " "; //arr[q] 출력
}
cout <<endl; //줄바꿈
}
}
}
void swap(int x, int y){ //함수 선언문
int temp; // temp 변수 선언
temp = x; //temp, x 값 교환
x = y; //x, y 값 교환
y = temp; //y, temp 값 교환
}
반응형
'C++' 카테고리의 다른 글
c++ 카페관리 프로그램 (업그레이드 버전) (0) | 2023.01.12 |
---|---|
c++ minimum two-way alignment (최소 양방향 정렬)(내림차순) (0) | 2023.01.12 |
c++ 이분탐색 (0) | 2023.01.12 |
c++ position insertion sort (위치 삽입정렬) (0) | 2023.01.12 |
c++ bidirectional bubble sort(양방향 버블 솔트) (0) | 2023.01.10 |