2011. 7. 28. 23:30

//2011 04
//Daun..
//포인터를 가장 많이 사용하게되는, 이제는 거의 외워써 쓰는 Swap함수!
#include <iostream>
using namespace std;
void swap (int *pa, int *pb)
{
 int temp;
 temp=*pa;
 *pa=*pb;
 *pb=temp;
}
int main ()
{
 int num1=10, num2=20;

 cout << num1 << " " << num2 << endl;
 swap (&num1, &num2);

 cout << num1 << " " << num2;
 return 0;
}

'Code > c/c++' 카테고리의 다른 글

[C++]poker  (0) 2011.09.03
[Code] 유클리드 알고리즘(Euclid Algorism)  (0) 2011.08.29
[C++ Code]주소값출력하기  (0) 2011.07.28
[C++ Code]재귀함수  (0) 2011.07.28
[C++ Code]야구게임  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:29

//2011 03
//Daun..
//주소값 출력하기.. 포인터의 개념이 어려울때 시도해보던 코드!
//포인터는 처음에 어렵지만 차근차근 간단하게 도전해보면서 하다보면 어느순간 익숙해질꺼!!
#include <iostream>
using namespace std;
int main()
{
 int a = 123;
 int * ptra = &a;
 cout << "int a &a의 값 출력" << &a << "\n";
 cout << "int a *ptra의 값 출력 " << *ptra << "\n";
 cout << "int a ptra의 값 출력" << ptra << "\n";
 cout << "int a sizeof(ptra)값 출력 " << sizeof(ptra) << "\n";


 char i = 'S';
 char * ptri = &i;
 cout <<"char i &i의 값 출력" <<(int*)&i << "\n";
 cout <<"char i * ptri의 값 출력 " << * ptri << "\n";
 cout <<"char i ptri의 값 출력" << ptri << "\n";
 cout <<"char i sizeof(ptri)값 출력 " << sizeof(ptri) << "\n";

 int arr[4];
 cout << "arr[0]의 주소값 출력" << &arr[0] << "\n";
 cout << "arr[1]의 주소값 출력" << &arr[1] << "\n";
 cout << "arr[2]의 주소값 출력" << &arr[2] << "\n";
 cout << "arr[3]의 주소값 출력" << &arr[3] << "\n";

 char m[3]="ap";
 char n[3]={'a','p','\0'}; 
 char * ptrm0 = &m[0];
 char * ptrm1 = &m[1];
 cout << "m0자리 주소 출력 : "<<ptrm0 <<"\n"<< "m1자리 주소 출력 : " << ptrm1 << "\n";

 


 return 0;
}

'Code > c/c++' 카테고리의 다른 글

[Code] 유클리드 알고리즘(Euclid Algorism)  (0) 2011.08.29
[C++ Code]Swap  (0) 2011.07.28
[C++ Code]재귀함수  (0) 2011.07.28
[C++ Code]야구게임  (0) 2011.07.28
[C++ Code]스위치연습  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:27

//Daun..
//2011 03
//재귀함수의 정석...  난 왜 아직도 재귀함수를 어려워할까나..
#include <iostream>
using namespace std;
int sum(int n){
 if(n==1){
  return 1;
 }
 else {
  return n+sum(n-1);
 }
}
int main ()
{
 int i; // 시그마 숫자
 cout << "숫자를 입력해 주세요.";
 cin >> i;

 cout << sum (i);

  return 0;
}

'Code > c/c++' 카테고리의 다른 글

[C++ Code]Swap  (0) 2011.07.28
[C++ Code]주소값출력하기  (0) 2011.07.28
[C++ Code]야구게임  (0) 2011.07.28
[C++ Code]스위치연습  (0) 2011.07.28
[C++ Code]소수출력하기  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:25

//Daun..
//2011 03
/*4자리숫자로 야구게임
아직은 문자를 입력하면 애러뜸!*/
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
int main()  
{
 cout <<"\n\n신나는 야구게임!\n\n";    //처음 게임의 제목 입력
 cout <<"규칙 : 각자리 숫자는 1-9까지 입니다.\n.총4자리 숫자입니다.\n또한, 각자리수는 전부 달라야합니다.\n\n\n\n";   //규칙설명문구 생성
 srand(time(0));    //값 랜덤 생성
 int number[4];    //number=컴퓨터가 준 값
 int put[4];    //put=입력하는 값의 각 자리수
 int putin;    //putin=처음입력값
 int s,ball;    //s=strike갯수,ball=ball갯수,z=버릴꺼(내컴이 똥컴이라해논거)
 int b[4];    //ball갯수 더할때 사용할꺼->근데 4로 쓰는게 맞나?

 while(1){

  for(int t=0;t<=3;t++){
   number[t]=rand()%9 +1;
  }
  if(number[0]!=number[1]&&number[0]!=number[2]&&number[0]!=number[3]&&number[1]!=number[2]&&number[1]!=number[3]&&number[2]!=number[3]){
   break;
  }
 }   /*while문-1값을 대입함으로써 항상 돌아가도록 만들엇고,
    number은 각각의 자리의 숫자를 컴퓨터가 만들어 준것이다.
    단, 각 자리숫자는 모두 달라야 하기 때문에
    if절을 이용해서 각자리 숫자가 전부 다른경우 for문을 끝내라는 조건을
     달아주었다.*/
 cout << number[0]<<number[1]<<number[2]<<number[3] <<endl;//정답 테스트를위해 적어줌->본래에는 지워야함.!!!!!!!!!!!!!!!!!!
 cout << "숫자를 입력해 주세요.\n";//숫자를 입력하라는 문구 출력
 while(1){
  cin >> putin;   //숫자를 입력.
  put[0]=putin/1000;    //1000자리숫자를 put[0]에 입력
  put[1]=(putin%1000)/100;   //100자리숫자를 put[1]에 입력
  put[2]=putin%100/10;   //10자리숫자를 put[2]에입력
  put[3]=putin%10;    //1자리숫자를 put[3]에입력
  if(putin>=1000 && putin<10000 && put[0]!=put[1] && put[0]!=put[2]&& put[0]!=put[3] && put[1]!=put[2] && put[1]!=put[3] && put[2]!=put[3]){
          // if문을 이용하여 양의 4자리인경우에만 계산을 하라고 함, 각자리수가 다 다른숫자만입력하게 만듬
   if(put[0]==number[0]&&put[1]==number[1]&&put[2]==number[2]&&put[3]==number[3]){
    cout << "정답입니다!!>_<\n\n 게임이 끝났습니다.\n";
    break;
   }   /*만약 정답을 맞췃을경우에 게임이 끝낫다는 문구와함께
      while문을 빠져나오라는 명령을 내립니다*/
   else{
    b[0]=0;
    b[1]=0;
    b[2]=0;
    b[3]=0;
    s=0;   /*이것이 처음에는 중요하지 않아 보이나
        한번 else과정을 거치고 났을때 남아잇던 값들을 초기화 시키는 역활을 합니다.*/
    for(int q=0; q<4;q++){
     if(number[q]==put[q]){
      s++;
     }   //for문을 이용하여 strike의 갯수를 파악합니다.
    }
    if(number[0]==put[1] || number[0]==put[2] ||number[0]==put[3]){
     b[0]++;
    }   //대입한 수의 첫번째 자리 숫자가 ball이 성립하는지 검토합니다.
    if(number[1]==put[0] || number[1]==put[2] || number[1]==put[3]){
     b[1]++;
    }   //대입한 수의 두번째 자리 숫자가 ball이 성립하는지 검토합니다.
    if(number[2]==put[0] || number[2]==put[1] || number[2]==put[3]){
     b[2]++;
    }   //대입한 수의 세번째 자리 숫자가 ball이 성립하는지 검토합니다.
    if(number[3]==put[0] || number[3]==put[1] || number[3]==put[2]){
     b[3]++;
    }   //대입한 수의 세번째 자리 숫자가 ball이 성립하는지 검토합니다.
    ball=b[0]+b[1]+b[2]+b[3];//각각 구해논 ball의 갯수를 합합니다.
    cout << s << "스트라이크" << ball << "볼" << "입니다.\n\n"<<"***다시입력하세요.\n";//최종적인 문구 출력
   }   /*else 문의 끝. 정답을 맞추지 못하엿을경우에
      계산해야 할것들이 들어있습니다.*/
  }    /*while문의 끝. 1을 대입함으로써 항상 돌아가도록 만들었으며
       이때의 while의 역활은 숫자를 계속해서 대입하라는 문구가 뜨는 역활입니다.
      또한 대입시 strike와 ball을 표시해주는것도 있습니다.*/
  else {
   cout << "4자리 각자리수가 다 다른 정수만 가능합니다.\n 숫자를 다시 입력해 주세요,\n";
  }   //4자리 정수가 아닌경우에 출력할 값
 }


 return 0;
}

/*
4자리 숫자로 하는 야구게임
너무 어려워서 처음에는 3자리숫자로 먼저 시작햇다...
그러고나서 바꾸니 금세 하더라;....

처음으로 만든 거대한 코드라서 ㅇ만들고나니 완전 두근두근 신남신남이엿지요
*/

'Code > c/c++' 카테고리의 다른 글

[C++ Code]주소값출력하기  (0) 2011.07.28
[C++ Code]재귀함수  (0) 2011.07.28
[C++ Code]스위치연습  (0) 2011.07.28
[C++ Code]소수출력하기  (0) 2011.07.28
[C++ Code]포인터없이 최대값출력하기  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:23

//Daun,,
//2011 03
//스위치를 처음 배우고나서...
#include <iostream>
using namespace std;
int main(){

 char grade;
 cin >> grade;
 switch(grade){
 case 'A':
  cout <<"A맞앗지롱!\n";
  break;
 case 'B':
  cout << "B맞았음!\n";
  break;
 default:
  cout << "A랑B가 둘다 아님!\n";
 }

 return 0;
}

'Code > c/c++' 카테고리의 다른 글

[C++ Code]재귀함수  (0) 2011.07.28
[C++ Code]야구게임  (0) 2011.07.28
[C++ Code]소수출력하기  (0) 2011.07.28
[C++ Code]포인터없이 최대값출력하기  (0) 2011.07.28
[C++ Code]피보나치수열  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:22
//Daun..
//2011 03
//결국해낸 소수출력하는 프로그램!!

//도입된 개념 : 소수는 1과 자기자신외에는 나누어떨어지는수가 없다!!
#include<iostream>
using namespace std;
int main()
{
 int num[100];
 double t;
 for (int i=0;i<=98;i++){
  num[i]=i+2;
 }
 for(int p =0;p<=98;p++){
  for(int q=2; q<p+1;q++){
   t= num[p]%q;
   if(t!=0){
   cout << num[p] <<"\n";
    break;
   }
  }
 }
 return 0;
}

'Code > c/c++' 카테고리의 다른 글

[C++ Code]야구게임  (0) 2011.07.28
[C++ Code]스위치연습  (0) 2011.07.28
[C++ Code]포인터없이 최대값출력하기  (0) 2011.07.28
[C++ Code]피보나치수열  (0) 2011.07.28
[C++ Code] 랜덤값 추출후 맞추기  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:20

//Daun..
//2011.03
//5개 숫자를 입력받아서 최대값을 출력하기

#include <iostream>
using namespace std;
int main()
{
 int a1,a2,a3,a4,a5;//맨처음 숫자 입력받은거
 int b1, b2;//첫번째 값 비교한거 저장
 int c;//두번째 값 비교한거 저장

 cin >> a1;
 cin >> a2;
 cin >> a3;
 cin >> a4;
 cin >> a5;
 //값 입력받기

 if(a1>=a2){
  b1 = a1;
 }
 else {
  b1 = a2;
 }//a1과 a2비교
 if(a3>=a4){
  b2 = a3;
 }
 else {
  b2 = a4;
 }//a3과a4비교
 if(b1>=b2){
  c = b1;
 }
 else {
  c = b2;
 }//b1과b2비교
 if(c>=a5){
  cout << "최대값은 " << c << "입니다.\n";
 }
 else {
  cout << "최대값은 " << a5 << "입니다.\n";
 }//c와 a5비교
 return 0;
}


//배열과 포인터 아무것도 안배웟던 상태!!

'Code > c/c++' 카테고리의 다른 글

[C++ Code]스위치연습  (0) 2011.07.28
[C++ Code]소수출력하기  (0) 2011.07.28
[C++ Code]피보나치수열  (0) 2011.07.28
[C++ Code] 랜덤값 추출후 맞추기  (0) 2011.07.28
[C++ Code] 소수가 아닌 숫자만 출력  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:19


/*2011년 3월 17일
객체지향프로그래밍실습 4주차 과제 2
피보나치 수열*/
#include <iostream>
using namespace std;
int main()
{
 int a, b,sum, i;// a와b는 더해야할 두값. sum은 합한값 즉, 출력할 값. i는 출력할 갯수
 a=0;
 b=1;
 //a와b초기값 설정
 cout << "How many Fibonacci number you need? : ";//몇개를 출력할것인지 묻는 문구 출력
 cin >> i;//갯수를 입력 받음
 cout << a <<"\t" << b << "\t" ;//먼저 처음 두개의 숫자를 출력
 while(i-2>0){
  sum = a + b;
  cout << sum << "\t";
  a = b;
  b = sum;
  i--;
 }//while문을 이용하여 그다음 피보나치 계산및 출력
 cout << "\n";

 return 0;
}

'Code > c/c++' 카테고리의 다른 글

[C++ Code]스위치연습  (0) 2011.07.28
[C++ Code]소수출력하기  (0) 2011.07.28
[C++ Code]포인터없이 최대값출력하기  (0) 2011.07.28
[C++ Code] 랜덤값 추출후 맞추기  (0) 2011.07.28
[C++ Code] 소수가 아닌 숫자만 출력  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 23:18
//Daun..
//2011.03
//객체지향과제..
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL)); //time값을 가져와 랜덤 한 값을 생성
int k,r;
int i=0;
k=rand()%51; //랜덤 한 값을 변수 k에 대입
  cout << "\n\n\t\t숫자를 맞춰라!!\n\n\n\n0-50사이의 값을 입력해 주세요.\n 기회는 10번 입니다. \n\n";//처음 숫자를 입력하라는 문장출력
 
 for(0;i<10;i++)
{ cin >> r; //입력값을 r에 입력
 if(k>r){
  cout << "\n\n숫자가 입력값보다 큽니다.\n\n"; //k가 입력수보다 큰경우에 출력
  cout << (9-i)<<"번의 기회가 남았습니다.\n 숫자를 다시 입력해 주세요.\n";
 }
 else if(k<r) {
  cout << "\n\n숫자가 입력값보다 작습니다.\n\n";//k가 입력수보다 작은경우에 출력
  cout << (9-i) << "번의 기회가 남았습니다.숫자를 다시 입력해 주세요.\n";
 }
 else {
  cout << "\n\n\n\n\n\n\n정답입니다.!\n" << i <<"회 만에 맞췃군요!\n\n\n\n이제 게임이 끝났습니다.";//입력한수가 k와 일치한 경우 출력
  break; //정답을 맞춘경우 for문을 강제로 끝냄
 }
 }
 
return 0;
}



////////////////////////////여기서 배울것... #include <time.h>
//srand(time(NULL));
//rand();

/*

rand함수 사용법....
#include <time.h>

srand(time(NULL));
이 미리 선언되어야 하는거다..

만약 0~99까지 숫자를 랜덤으로 뽑으려면

int num = rand()%100;
만약 1~100까지 숫자를 랜덤으로 봅으려면;
int num = rand()%100 + 1;

이런식으로 하면 되는겅미....

*/

'Code > c/c++' 카테고리의 다른 글

[C++ Code]스위치연습  (0) 2011.07.28
[C++ Code]소수출력하기  (0) 2011.07.28
[C++ Code]포인터없이 최대값출력하기  (0) 2011.07.28
[C++ Code]피보나치수열  (0) 2011.07.28
[C++ Code] 소수가 아닌 숫자만 출력  (0) 2011.07.28
Posted by I_co
2011. 7. 28. 22:17

//Daun..
//2011.03
//소수출력하는코드 짜다가 실패하고 만든 결과물....->이날이후로 소수에대한 트라우마가 생긴듯 ㅠ
#include<iostream>
using namespace std;
int main()
{
 int num[100];
 double t;

 for (int i=0;i<=98;i++){
  num[i]=i+2;
 }

 for(int p =0;p<=98;p++){
  for(int q=2; q<p+1;q++){
   t= num[p]%q;
   if(t==0){
   cout << num[p] <<"\n";
    break;
   }
  }
 }
 return 0;
}

'Code > c/c++' 카테고리의 다른 글

[C++ Code]스위치연습  (0) 2011.07.28
[C++ Code]소수출력하기  (0) 2011.07.28
[C++ Code]포인터없이 최대값출력하기  (0) 2011.07.28
[C++ Code]피보나치수열  (0) 2011.07.28
[C++ Code] 랜덤값 추출후 맞추기  (0) 2011.07.28
Posted by I_co