[旧]メモり。メモる。(お引越ししました→http://hatone.hateblo.jp/)

2010-06-11 バナナの謎はまだ謎なのだぞ

#include<iostream>
#include<math.h>

#define M_PI       3.14159265358979323846

using namespace std;


int main(){
	int ans =0;
	int n=0;
	int m=0;


	while(1){
		cin >> n;
		cout<<n;

		if(n==0)break;
		int oreA[10][2];
		// answer
		cin >> m;
		for(int j=0; j<m; j++)
		{
			cin >>oreA[j][0];
			cin >>oreA[j][1];
		}

		// hoka
		for(int i=0; i<n-1; i++)
		{
			cin >> m;
			int dare[10][2];
			for(int j=0; j<m; j++)
			{
				cin >> dare[j][0];
				cin >> dare[j][1];

				cout >> dare[j][0];
				cout >> dare[j][1];
			}

			//for(int h=0; h <4 ; h++)
			//{
			//	int c=0;
			//	for(int j=0; j<m; j++)
			//	{
			//		int tempx=dare[j][0];
			//		dare[j][0]=dare[j][0]*cos(M_PI/2)+dare[j][1]*sin(M_PI/2);
			//		dare[j][1]=tempx*sin(M_PI/2)*(-1)+dare[j][0]*cos(M_PI/2);

			//		if(oreA[j][0]==dare[j][0] && oreA[j][1]==dare[j][1]){
			//			c++;
			//		}
			//	}
			//	if(c==m){
			//		cout << i+1;
			//	}

			//}





		}


	}

	return 0;
}

2009-06-17

[]Make Purse Light

ミニノート感が少ない。

#include<iostream>
#include<fstream>
using namespace std;

int main(){

  int n;

  //支払金額
  int money;
  //10円50円100円500円
  int zyu;
  int go;
  int hyaku;
  int gohyaku;

  ifstream fin("a.in");
 
  fin>>n;

  while(n!=0){
    money = n;
    fin>>zyu>>go>>hyaku>>gohyaku;

    // cout<<"支払金額"<<money<<endl;
    //cout<<"10円"<<zyu<<endl;
    //cout<<"50円"<<go<<endl;
    //cout<<"100円"<<hyaku<<endl;
    //cout<<"500円"<<gohyaku<<endl;

    int a=0;
    int b=0;
    int c=0;
    int d=0;

    for(int i=0;i<zyu;i++){
      if(money <= 0 )break;
      money = money-10;
      a++;
    }
   
    for(int i=0;i<go;i++){
      if(money <= 0)break;
      money =money-50;
      b++;
    }
    for(int i=0;i<hyaku;i++){
      if(money <= 0)break;
      money = money-100;
      c++;
    }
    for(int i=0;i<gohyaku;i++){
      if(money <= 0)break;
      money = money - 500;
      d++;
      }

    if(a>0)cout<<"10 "<<a<<endl;
    if(b>0)cout<<"50 "<<b<<endl;
    if(c>0)cout<<"100 "<<c<<endl;
    if(d>0)cout<<"500 "<<d<<endl;
    cout<<endl;
    fin>>n;
}
  fin.close();
  return 0;
}

2009-05-09

[]C++でマルチスレッドプログラミング

スレッド1とスレッド2を展開させてみてます。

タイミングはsleep()の中身でいじるものなんだろうか…?

#include <pthread.h>
#include <stdio.h>

void* thread1(void* pParam); //スレッド1
void* thread2(void* pParam); //スレッド2
int i=0;

int main(int argc,char *argv[]){
  pthread_t tid1,tid2; //スレッド識別関数
  //スレッドの作成
  pthread_create(&tid1,NULL,thread1,NULL);
  pthread_create(&tid2,NULL,thread2,NULL);

  //スレッド終了待ち
  pthread_join(tid1,NULL);
  pthread_join(tid2,NULL);
  return 0;
}

//スレッド1
void* thread1(void* pParam){
  i=3;//スレッド1でi=3する
  while(1){
    printf("hello\n"); 
    sleep(1);
  }
}

//スレッド2
void* thread2(void* pParam){
  while(1){
    printf("world\n");
    printf("%d",i);//スレッド1でi=3されたやつがスレッド2にちゃんと適用されてる。
    sleep(3);
  }
}