5.19.2017

수학 : 조합

실습 문제
- C++ 로 시작하는 객체지향 프로그래밍 7.22 번 문제

Q. (수학 : 조합) 10개의 정수를 입력하고, 입력한 수로부터 두 수를 뽑는 모든 조합을 출력하는 프로그램을 작성하여라. 

========================================================

/*(수학:조합) 10개의 정수를 입력하고,
입력한 수로부터 두 수를 뽑는 모든 조합을 출력하는 프로그램을 작성하여라. */

#include <iostream>
using namespace std;

int main() {

const int SIZE = 10;
int data[SIZE];

for (int i = 0; i < 10; i++)
{
cin >> data[i];
}

for (int a = 0; a < SIZE; a++) {
for (int b = a + 1; b < 10; b++)
{
cout << "모든 조합은 " << data[a] << " and " << data[b] << "," <<  endl;
}
}

system("pause");
return 0;

}

5.18.2017

C++ Linear Search

실습 과제 - Linear Search
 bool linearSearch(int key, int data[], int size)

  •  크기가 size인 배열 data를 0번 방부터 마지막 방까지 차례대로 방문하면서 주어진 key와 같은 값이 있는지 확인한다. 
  • key와 같은 값이 발견되면 즉시 true를 반환한다. 
  • 마지막 방까지 다 방문을 했는데도 key와 같은 값이 발견되지 않으면 false를 반환한다.







0번 방부터 마지막 방까지 차례대로 검사

========================================================

#include <iostream>
using namespace std;
const int SIZE = 10;
int data[SIZE];
bool linearSearch(int key, int data[], int size)
{
      for (int i = 0; i < size; i++){
          if (key == data[i])
          {
                return true;
          }
      }
      return false;
}
int main()
{
      int x[] = {25, 36, 17, 12, 45, 78, 62, 31, 18, 63};
      int number;
      while (true) {
          cout << "수험번호를입력하세요: ";
          cin >> number;
          if (linearSearch(number, x, sizeof(x)/sizeof(int)))
                cout << "합격입니다" << endl;
          else cout << "불합격입니다" << endl;
      }
      system("pause");
      return 0;
}

C++ 복사


실습 과제
 크기가 100인 정수 배열 두 개를 선언하고 한 배열에 정수를 입력 받아 저장하고, 이것을 다른 배열로 복사한 후 복사된 배열을 출력하는 프로그램을 작성

  • 100개의 정수 배열 두 개를 선언 int data[100], copied[100]; 
  • 몇 개의 데이터를 저장할 것인지를 사용자에게 물어 보고 배열 data[]에 이 개수만큼 데이터를 읽어 들임 void read_data(int d[], int size) 
  • 읽어 들인 데이터를 다른 배열 copied로 복사 void copy_data(int d[], int c[], int size)
  • 복사된 배열을 출력 void print_data(int d[], int size)

#include <iostream>
using namespace std;
void read_data(int data[], int n)
{
for (int i=0; i<n; i++)
 cin >> data[i];
}
void copy_data(int data[], int copied[], int n)
{
 for (int i = 0; i < n; i++)
  copied[i] = data[i];
}
void print_data(int copied[], int n)
{
 for (int i = 0; i < n; i++)
  cout << copied[i] << " ";
 cout << endl;
}
int main()
{
 const int SIZE = 100;
 int data[SIZE], copied[SIZE], n;
 cout<< "몇개의데이터를입력하시겠습니까? ";
 cin>> n;
 read_data(data, n);
 copy_data(data, copied, n);
 print_data(copied, n);
 system("pause");
 return 0;

C++ 문자열을 두 개 입력 받아 그 두 문자열을 연결한 것을 다른 문자열에 저장하는 프로그램

실습 과제
 문자열 a, b를 입력 받아 a와 b를 연결한 문자열을 c에 저장하는 프로그램을 작성
 char a[128], b[128], c[256];
 다음 함수를 정의하고 위 프로그램을 작성함 void concat(char a[], char b[], char c[])

========================================================