no image
c++ bidirectional bubble sort(양방향 버블 솔트)
#include //선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 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
2023.01.10
C++
no image
c++ 실수는 더하고 정수는 곱하기
#include //선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 using namespace std; //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout double add (double x, double y){ return x+y; } int a (int x, int y){ return x*y; } int main(){ double d, b, c; cout > d; cin >> b; c = d + b; if (c%1.0 == 0){ cout
2023.01.10
C++
no image
c++ 실수는 더하고 정수는 곱하고 문자는 아스키코드 값으로 더하기
#include //선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 using namespace std; //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout double add (double x, double y){//함수화, 함수를 사용하면 프로그램 코드가 구조화되어 간단해지고 쉽게 사용가능하다 //x,y값을 받음 return x+y;// x + y 값을 리턴 } int mul (int x, int y){// 함수 선언 x,y값을 받음 return x*y;// x*y 값을 리턴 } int asc (int x, int y){//함수 선언 x,y값을 받음 return x + y; //x + y 값을 리턴 } int main(){// 몸체부, 메인 함수 ..
2023.01.10
C++
no image
c++ 소멸자 예제
#include #include using namespace std; class STRING{ char *string; int length; public: STRING(char*); ~STRING(); void Catenate(STRING &); void Print(); }; STRING::~STRING(){ cout
2023.01.10
C++
no image
c++ 선형탐색
#include //C++을 구동하기 위한 헤더 파일 선언 using namespace std;//std::의 접두어를 생략한다. class BASE1{//기본 클래스 sel,count,arr[],mid 멤버 변수와 Set(), tam() 멤버 함수를 지님 //디폴트 생성자도 자동생성 int sel;//전역변수로 sel 선언 int count;//전역변수로 count 선언 int arr[5];//전역배열로 arr[5]값 선언 int mid;//전역변수로 mid 선언 public://어디서든지 사용가능 void set(int a) {//Set int 인자를 1개 받는 생성자 sel = a; //sel이라는 변수가 가르키는 주소 값에 메모리안에 a을 선언 a로 초기화 // 받은 인자값을 sel에 선언 } v..
2023.01.10
C++
no image
c++ 선형,이분탐색
#include //C++을 구동하기 위한 헤더 파일 선언 using namespace std;//std::의 접두어를 생략한다. class BASE1{//기본 클래스 sel,count,arr[],mid 멤버 변수와 Set(), tam() 멤버 함수를 지님 //디폴트 생성자도 자동생성 int sel;//전역변수로 sel 선언 int count;//전역변수로 count 선언 int arr[5];//전역배열로 arr[5]값 선언 public://어디서든지 사용가능 void set(int a) {//Set int 인자를 1개 받는 생성자 sel = a; //sel이라는 변수가 가르키는 주소 값에 메모리안에 a을 선언 a로 초기화 // 받은 인자값을 sel에 선언 } void tam(){//선형탐색 생성자 cout
2023.01.10
C++
no image
c++ 선택정렬
#include //선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 using namespace std; //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout // IT융합학부 2학년 1971070 이재은 선택정렬 int main(){// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것 //void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다 int a[4]={5,3,2,1};//arr 이라는 배열이 가르키는 주소 메모리 값을 4로 선언과 동시에 5,3,2,1로 초기화 int data=0;//data 이라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화 int temp=0;//temp라는..
2023.01.10
C++
no image
c++ 버블솔트(Bubble Sort)
#include //선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 using namespace std; //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout // IT융합학부 2학년 1971070 이재은 버블정렬 int main()// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것 //void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다 { int arr[5];//배열 arr[]를 메모리값의 크기가 5인 배열 선언 int temp = 0;// temp라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화 cout
2023.01.10
C++
반응형
#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<2; j++){		//0~4까지 1씩 증가//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
				for(int i=0; i<4; i++){		//0~2까지 1씩 증가 //조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
					if(arr[i] > arr[i+1]){		//arr[i]가 a[i+1]보다 클때 실행
					swap(arr[i], arr[i+1]);				//swap 함수사용 
					}
					cout << j+1 << "-"<<i+1<< "번째 정렬 : ";			// for문이 2개이기때문에  j+1 - i+1 로 출력문을 써준다 
						for(int q=0; q<5; q++){					//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로0~5 1++ 
						cout << arr[q] << " "; 					//arr[q] 출력 
				}
								cout <<endl;				//줄바꿈 
			}
				for(int c=4; c>=0; c--){			//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 4~0까지 1-- 
					if(arr[c] < arr[c-1]){				//arr[c] 가 arr[c-1] 이라면 조건문 실행 
					swap(arr[c], arr[c-1]);				// arr[c]와 arr[c-1]을 swap 함수로 값을 보냄 
				}
				cout << j+1 <<"-" << c+1<< "번째 정렬 : ";		//for문이 2개이기 때문에 j+1 - c+1로 값을 설정 (출력문) 
						for(int z=0; z<5; z++){				//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~5까지 1++ 
						cout << arr[z] << " "; 				//arr[] 배열값 출력 
			}
						cout << endl;				//줄 바꿈 
		}
					
	}
}


void swap(int x, int y){		//함수 선언문 
	int temp;				// temp 변수 선언 
	
	temp = x;			//temp, x 값 교환		 
	x = y;				//x, y 값 교환 
	y = temp;			//y, temp 값 교환 
}
반응형
반응형
#include <iostream>  	//선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 
using namespace std;    //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout 

double add (double x, double y){
	return x+y;
}
int a (int x, int y){
	return x*y;
}

int main(){
	double d, b, c;
	
	cout << "값을 입력하세요 : ";
	
	cin >> d;
	cin >> b;
	c = d + b;
	
	if (c%1.0 == 0){
		cout << a(d,b);
	}
	else {
		cout << add(d,b);
	}
}
반응형
반응형
#include <iostream>  	//선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 
using namespace std;    //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout  

double add (double x, double y){			//함수화, 함수를 사용하면 프로그램 코드가 구조화되어 간단해지고 쉽게 사용가능하다
											//x,y값을 받음 
	return x+y;				// x + y 값을 리턴 
}
int mul (int x, int y){			// 함수 선언 x,y값을 받음 
	return x*y;			// x*y 값을 리턴 
}
int asc (int x, int y){			//함수 선언 x,y값을 받음 
	return x + y; 			//x + y 값을 리턴 
}

int main(){				// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
						//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
	
	int a = 10, b = 20;				//a = 10, b=20 으로 인트형으로 값을 초기화 
	double x = 10.1, y = 20.2;			//x=10.1, y=20.2로 더블형으로 값을 초기화 
	char q = 'A', w = 'B';				//q='A', w='B'로 char형으로 값을 초기화 
	
	cout << "실수 값은 더하기 : " << add(x,y) << endl;		//출력문 
	cout << "정수 값은 곱하기 : " <<mul(a,b) << endl;		//출력문 
	cout << "문자는 아스키 코드 값으로 더하기 : " << asc(q,w) << endl;		//출력문 
 	
}
반응형

'C++' 카테고리의 다른 글

c++ bidirectional bubble sort(양방향 버블 솔트)  (0) 2023.01.10
c++ 실수는 더하고 정수는 곱하기  (0) 2023.01.10
c++ 소멸자 예제  (0) 2023.01.10
c++ 선형탐색  (0) 2023.01.10
c++ 선형,이분탐색  (0) 2023.01.10

c++ 소멸자 예제

Dev_Jen
|2023. 1. 10. 23:26
반응형
#include <iostream>
#include <string>
using namespace std;

class STRING{
	char *string;
	int length;
	public:
		STRING(char*);
		~STRING();
		void Catenate(STRING &);
		void Print();
}; 


STRING::~STRING(){
	cout << "메모리 해제 중..\n";
	delete string;
}


void STRING::Catenate(STRING &Str){
	length = length + Str.length;
	char *tmp = new char[length + 1];
	strcpy
}


int main(){
	STRING first("Timr is not money.");	//STRING 객체로 first와 second 생성 first 객체에는 time is not money 저장
										//second 객체에는 time is life 저장 
	STRING second("Time is life.");
	
	first.Print();
	second.Print();
	first.Catenate(second);				 
	cout << "\n.....문자열 연결.....\n";
	first.Print();
	
	return 0;
}
반응형

c++ 선형탐색

Dev_Jen
|2023. 1. 10. 23:25
반응형
#include <iostream>				//C++을 구동하기 위한 헤더 파일 선언
using namespace std;			//std::의 접두어를 생략한다.

class BASE1{					//기본 클래스 sel,count,arr[],mid 멤버 변수와 Set(), tam() 멤버 함수를 지님 //디폴트 생성자도 자동생성 
	int sel;					//전역변수로 sel 선언 
	int count;					//전역변수로 count 선언 
	int arr[5];					//전역배열로 arr[5]값 선언 
	int mid;					//전역변수로 mid 선언 
	public:								//어디서든지 사용가능 
		void set(int a) {				//Set int 인자를 1개 받는 생성자 
		sel = a; 						//sel이라는 변수가 가르키는 주소 값에 메모리안에 a을 선언 a로 초기화 // 받은 인자값을 sel에 선언 
		}
		void tam(){						//선형탐색 생성자 
		for(int j=0; j<5; j++){ arr[j] = j+1;}		//배열값을 추가해주는 for문 
		
		for(int i=0; i<5; i++){						//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++ 
			if(arr[i] == sel){						//arr[i]값이 sel 값과 같다면 조건문 실행 
				count++;							//count 값 증가 
				cout<< count << "번째 비교,  "; 	//비교 출력문 
				cout << arr[i] << "값과" << sel << "값이 같습니다." << endl;		//값 비교 출력문 
				break; 																//값이 같다면 for문 탈출 
			}
			else if(arr[i] > sel){					//arr[i]값이 sel 값보다 크다면 
				count++;							//count 값 증가 
				cout<< count << "번째 비교,  "; 	//비교 출력문 
				cout << arr[i] << "값과" << sel << "값이 같지않습니다." << endl; 	//값 비교 출력문 
			}
			else if(arr[i] < sel){					//arr[i]값이 sel 값보다 작다면 
				count++;							//count 값 증가 
				cout<< count << "번째 비교,  "; 	//비교 출력문 
				cout << arr[i] << "값과" << sel << "값이 같지않습니다." << endl;	//값 비교 출력문 
			}
		}		
	}
};
int main(){					// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
							//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
	int sel;				//정수형 변수 sel 선언 
	
	cout << "값을 입력해주세요 : ";			//출력문 
	cin >> sel;								//sel 값 입력문 
	
	BASE1 B;								//클래스의 객체 생성 객체 이름은 B 
	B.set(sel);								//클래스에 접근 (sel)인자값 보내기 
	B.tam();								//클래스의 멤버에 접근 B.tam() 사용 

}
반응형

'C++' 카테고리의 다른 글

c++ 실수는 더하고 정수는 곱하고 문자는 아스키코드 값으로 더하기  (0) 2023.01.10
c++ 소멸자 예제  (0) 2023.01.10
c++ 선형,이분탐색  (0) 2023.01.10
c++ 선택정렬  (0) 2023.01.10
c++ 버블솔트(Bubble Sort)  (0) 2023.01.10

c++ 선형,이분탐색

Dev_Jen
|2023. 1. 10. 23:24
반응형
#include <iostream>				//C++을 구동하기 위한 헤더 파일 선언
using namespace std;			//std::의 접두어를 생략한다.

class BASE1{					//기본 클래스 sel,count,arr[],mid 멤버 변수와 Set(), tam() 멤버 함수를 지님 //디폴트 생성자도 자동생성 
	int sel;					//전역변수로 sel 선언 
	int count;					//전역변수로 count 선언 
	int arr[5];					//전역배열로 arr[5]값 선언 
	public:								//어디서든지 사용가능 
		void set(int a) {				//Set int 인자를 1개 받는 생성자 
		sel = a; 						//sel이라는 변수가 가르키는 주소 값에 메모리안에 a을 선언 a로 초기화 // 받은 인자값을 sel에 선언 
		}
		void tam(){						//선형탐색 생성자 
		cout << "-----------선형탐색 시작-----------" << endl; 
		for(int j=0; j<5; j++){ arr[j] = j+1;}		//배열값을 추가해주는 for문 
		
		for(int i=0; i<5; i++){						//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++ 
			if(arr[i] == sel){						//arr[i]값이 sel 값과 같다면 조건문 실행 
				count++;							//count 값 증가 
				cout<< count << "번째 비교,  "; 	//비교 출력문 
				cout << arr[i] << "값과" << sel << "값이 같습니다." << endl;		//값 비교 출력문 
				break; 																//값이 같다면 for문 탈출 
			}
			else if(arr[i] < sel){					//arr[i]값이 sel 값보다 작다면 
				count++;							//count 값 증가 
				cout<< count << "번째 비교,  "; 	//비교 출력문 
				cout << arr[i] << "값과" << sel << "값이 같지않습니다." << endl;	//값 비교 출력문 
			}
		}		
	}
};
class BASE2{						//기본 클래스 sel2,count2,arr2[],mid 멤버 변수와 Set2(), tam2() 멤버 함수를 지님 //디폴트 생성자도 자동생성 
	int arr2[6];						//전역 정수형 배열로 arr2[6] 선언 
	int mid, sel2, count2=0;			//전역 정수형 변수 mid2, sel2, count2 선언 
	int left = 1, right = 5; 		// left, right 초기화
	public:							//어디서든지 사용가능 
		void set2(int a){			//Set int 인자를 1개 받는 생성자 
			sel2 = a;				//sel이라는 변수가 가르키는 주소 값에 메모리안에 a을 선언 a로 초기화 // 받은 인자값을 sel에 선언 
		}
		void tam2(){				//이분탐색 생성자 분 
		cout << "-----------이분탐색 시작-----------" << endl;
			for(int i=1;i<6;i++){arr2[i]=i;} 	//배열값을 추가해주는 for문 	
			
			for(int i=0; i<5; i++){			//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++ 
      		mid = (left+right)/2; 			// mid값 갱신 새로 돌아갈때마다 
      		if(arr2[mid] == sel2){			//arr[mid]와 sel 값이 같다면 조건식 실행 
      			count2++;					//count 값 증가 
      			cout << count2 <<"번째 비교 "<< endl;		//비교 횟수 출력문 
		  		cout << mid << "값과" << sel2 << "값이 같습니다." << endl;	//비교값 출력문 
		  		break;						//값이 같다면 for문 탈출 
	 		 }
	  		else if(arr2[mid] > sel2){		//arr[mid]가 sel보다 크다면 
	  			count2++;					//count 값 증가	 
      			cout << count2 <<"번째 비교 "<< endl;		//비교 횟수 출력문 
				cout << mid << "값과" << sel2 << "값이 같지 않습니다.." << endl;		//비교값 출력문 
				right = mid;				//왼쪽값이 크면 미드를 왼쪽으로 당겨준다 
	  		}
	  		else if(arr2[mid] < sel2){		//arr[mid]가 sel보다 작다면 
	  			count2++;					//count값 증가 
      			cout << count2 <<"번째 비교 "<< endl;		//비교 횟수 출력문 
				cout << mid << "값과" << sel2 << "값이 같지 않습니다.." << endl;		//비교값 출력문 
				left = mid+1;				//만약 나눴을때 4.5라면 정수는 항상 4가 나오기 때문에 비교값이 5일때를 대비해서 만들어준 값 
			  }
  		}	
	}
};

class DERIVED : public BASE1, public BASE2{
};

int main(){					// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
							//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
    int sel;				//정수형 변수 sel 선언  
    
  	cout << "찾을 값을 입력해 주세요: ";		//출력문 
  	cin >> sel; 								//sel 입력문	
  	
  	DERIVED D;
  	D.set(sel);
  	D.tam();
  	D.set2(sel);
  	D.tam2();

}
반응형

'C++' 카테고리의 다른 글

c++ 소멸자 예제  (0) 2023.01.10
c++ 선형탐색  (0) 2023.01.10
c++ 선택정렬  (0) 2023.01.10
c++ 버블솔트(Bubble Sort)  (0) 2023.01.10
c++ 배열의 배수 출력  (0) 2023.01.10

c++ 선택정렬

Dev_Jen
|2023. 1. 10. 23:24
반응형
#include <iostream>  	//선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 
using namespace std;    //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout 
						// IT융합학부 2학년 1971070 이재은 선택정렬 


int main(){			// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
					//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
					
   int a[4]={5,3,2,1};				//arr 이라는 배열이 가르키는 주소 메모리 값을 4로 선언과 동시에 5,3,2,1로 초기화 
   int data=0;						//data 이라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화 
   int temp=0;						//temp라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화 
   cout << "============data============" <<endl; 				//데이터값 출력문, 줄바꿈 
   for(int i=0;i<4;i++){								//0 ~ 3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
   	cout<< i+1 << "번째 배열: ";						//i+1 번째 배열 값 출력문 i는 0부터 이기 ‹š문 
      cout<<a[i] << endl ; 								//배열값 출력문 
   }			
   cout << "============swap============" << endl;			//솔트 시작 출력문, 줄바꿈 
   for (int i=0; i<2; i++){									//0 ~ 1까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
        data=i;												// data값에 i대입 사실상 data가 가르키는 주소값의 메모리에 i값 대입 
        for (int j=i+1; j<4; j++){							//i+1 ~ 3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
            if (a[j] < a[data])								//a[j] 배열 값이 a[data]보다 작다면 if조건문 실행 
                data = j;									// data값에 j대입 사실상 data가 가르키는 주소값의 메모리에 j값 대입 
        }
        temp = a[i];										//temp 배열 값에 주소가 가르키는 메모리 값에 a[i] 대입 
        a[i] = a[data];										//a[i] 배열 값에 주소가 가르키는 메모리 값에 a[data] 대입
        a[data] = temp;										//a[data] 배열 값에 주소가 가르키는 메모리 값에 temp 대입		솔트문 
        for(int i=0;i<4;i++){								//0~3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
        cout<<a[i]<<" "; 									//솔트 값 출력문 
       }
   cout<<endl;												//줄바꿈 
}
   cout<<endl<<"최종 배열 값:";								//최종 배열 값 출력문 
   for(int i=0;i<4;i++){									//0 ~ 3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
      cout<<a[i]<<" "; 										//최종 배열 값 출력문 
   }
   return 0; 												//리턴값 0 
}
반응형

'C++' 카테고리의 다른 글

c++ 선형탐색  (0) 2023.01.10
c++ 선형,이분탐색  (0) 2023.01.10
c++ 버블솔트(Bubble Sort)  (0) 2023.01.10
c++ 배열의 배수 출력  (0) 2023.01.10
c++ 동물 클래스  (0) 2023.01.10

c++ 버블솔트(Bubble Sort)

Dev_Jen
|2023. 1. 10. 23:22
반응형
#include <iostream>  	//선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 
using namespace std;    //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout 
// IT융합학부 2학년 1971070 이재은 버블정렬 


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 << "번째 숫자 : "; 						//출력문 
		cin >> arr[i];										//arr[i] 배열에 값 입력 
	}	
	cout << "============data============" <<endl; 				//출력문 
	cout << "현재 들어간 숫자 : ";							//출력문 
	for(int i=0; i<5; i++){								//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로  0~4까지 1++ 
		cout << arr[i] << " "; 							//arr[i] 을 출력하고 띄어쓴다음 계속 다음것 출력 
	}
	cout << endl;							//줄 바꿈 
	
	cout << "============swap============" << endl;				//출력문 
		for(int j=0; j<4; j++){		//0~4까지 1씩 증가//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
			for(int i=0; i<4; i++){		//0~3까지 1씩 증가 //조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
				if(arr[i] > arr[i+1]){		//arr[i]가 a[i+1]보다 클때 실행
				temp = arr[i];		//temp, arr[i] 을 템프로 교환 0
				arr[i] = arr[i+1];		//arr[i] 와 arr[i+1]를 교환 
				arr[i+1] = temp;			//arr[i+1]을 temp와 교환 
					}
					cout << j+1 << " - " << i+1 << "번째 정렬 : ";		// for문이 2개이기 때문에 j+1 - i+1 번째로 출력해준다 
						for(int c=0; c<5; c++){							//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4 1++
						cout << arr[c] << " "; 					//arr[c] 출력 
				}
				cout << endl;				//줄 바꿈 
			}
		}
	
	cout << "=====data=====" << endl;				//출력문 
	for(int i=0; i<5; i++){							//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++ 
		cout << i+1 << "번째 숫자 - "<<arr[i] << endl;			//마지막 정렬된 코드 확인 
	}
	cout << "=====stop=====" << endl;					//출력문 
}
반응형

'C++' 카테고리의 다른 글

c++ 선형,이분탐색  (0) 2023.01.10
c++ 선택정렬  (0) 2023.01.10
c++ 배열의 배수 출력  (0) 2023.01.10
c++ 동물 클래스  (0) 2023.01.10
c++ 데이터 각도 변환  (2) 2023.01.10