2016年12月3日土曜日

100万再生で本当にやります!別府市・湯~園地計画! “1 Million Views Make it a Reality!” Beppu Ci...

4日で100万再生突破してしまってどうするんだろうか。。。
湯〜園地がなくても別府は楽しいよ。

2016年11月26日土曜日

I/O

ごくごく当たり前のことを思い出した。
質の高いアウトプットは
常日頃のインプットの量に比例してる。

2016年11月23日水曜日

akutagawa - "聞こえないフリ、をしてただけ" MV

イントロから鳥肌ですね。

「HITOSHI MATSUMOTO presents ドキュメンタル」予告編

自分、Amazon信者且つ真面目にお笑いする番組が大変好きなので、とても楽しみです。
企画もユニークで面白いですね。

2016年11月16日水曜日

N°5 L’EAU: the film – CHANEL

CHANELのこのCM、音楽も映像も言葉もジョニーデップの娘さんも、すべてが美しくてまぶたの裏に焼き付く。

2016年11月11日金曜日

Cowpers - curve2


積読本消化しなきゃなのに思考完全止まった。
エモすぎ。

2016年9月29日木曜日

Job.

今、思ったこと感じたことについて。転職に際し。

#個人的なポエムになるので、読み流してしまって大丈夫です。
#忘備のため、あとは誰かのためになるのかもなという魂胆も。

供給者→A→B→C→提供者と過程をふむ仕事があったとき(というか大概の仕事がそうだと思う)、
自分にはBしか見えない仕事にいささか抵抗があった。

自分の職務は"ここまで"と決めて、後のことは知らないよ、という感じ。
ときには忙殺されてそうなってしまうんだけど、仕事の目的を自分の仕事領域の完遂とはしたくない。

トータルして自分が世の中に対して何ができたのか?みたいなところを大切にしたい。
その手応えを大切にしたい。

とは言っても大それたことは出来ないからやれる仕事の範囲や肩書は限定される。

でも、自分の仕事に対して"誰かにこういう成果を提供できている"という何かしらの手応えが欲しかった。ここの誰かというのは会社の外に対する誰か。

ざっと、IT界隈の仕事を自分の感覚で分類してみると、こんな感じ。

  • サポートエンジニア
  • システムエンジニア
  • セールスエンジニア
  • プロジェクトマネージャ
  • ITアーキテクト
  • ITコンサルタント

それぞれの職種からみえる景色は異なるし、自分はこの領域の中でしか仕事をしないよ、とか領域外がどうなっているかは興味がないよ、というケースもある。それはそれ、人は人。

ただ、自分にはどうしてもそこが腑に落ちないというか、もう少し踏み込んでみたかった。
自分が関わったものがどう世の中に影響を及ぼすのか?とか。

甘いかもしれないし、そんな何でもかんでもやろうとしたら無理があるだろ、とか思われるかもしれないけど、そう思うんだよな。



"もう"または"まだ"28歳だけど、現実ばかりでなく理想の姿を考えながら、
公私、仮想物理を生きていきたい。



2016年9月17日土曜日

Have you read any interesting books lately?

今このとき何を読んでいたのか?
書店にいったとき、本選びに迷ったとき誰かの参考になればと

円城塔 - Self-Reference ENGINE

恩田陸 - Q&A

伊藤計劃 - ハーモニー

長嶋有 - 猛スピードで母は

中村文則 - 掏摸

吉田松陰 - 覚悟の磨き方


楠木建 - 好きなようにしてください


赤羽雄二 - ゼロ秒思考



生々しさ、生々しすぎるSF:ハーモニー
陰鬱、人間の人生:掏摸
仕事の向き合い方、肩の力の抜き方:好きなようにしてください
日々の情報整理の手段:ゼロ秒思考
日本語を壊し作り直したような世界観:Self-Reference ENGINE

2016年9月16日金曜日

Reading through closed books


本を買いに行くのが面倒になって、本を注文するようになる。
本を注文するのが面倒になって、電子書籍をダウンロードするようになる。
電子書籍をダウンロードするのが面倒になって、本を開くことなく中身を読むようになる。

MITで開発されているテラヘルツ波を透過?することで本の中身が読める技術。
ちょっと何言ってるのか分からないんだけど、今後はどんどんこういう方向に進んでいくのだろうなと思う。

現存の本のフォーマットがなくなるわけじゃなく、コンテンツを吸収するための方法の多様化。
メールやメッセージサービスがいくら発達しても手紙がなくならないのと同じように、
紙の本はなくならないけど、脳内に情報や情緒を流し込む方法の選択肢が増えてくる印象。







2016年9月15日木曜日

American Football - Give me the gun

TTNG - If I Sit Still, Maybe I'll Get Out of Here - Audiotree Live


この感じ。。。
エモ+マスロックって形容しちゃうと大雑把なんだけど、とても良い。
3ピース、イギリス。

ギターのタッピングやメロディが前に出すぎずに曲の雰囲気作って、
拍子のズレが気持よく刺さる。そしてボーカル。

USインディや日本のポストロックやマスロックもそれなりに聴いてきたけど、
このほどよい技巧性、感情の出し具合(エモさ)、リズムなど全体のバランスがかなりツボ。

バンド名はThis Town Needs Guns改めTTNGになったみたい。
来月2016年10月にliteとskillkillsらとLIQUIDROOMのイベントあり。







2016年7月8日金曜日

C言語:簡易住所録(簡単なインメモリーDB)

問題1
下記の条件で構造体を用いた簡易住所録を作成。
・レコード内容:ID(2ケタ)、氏名、住所(簡単なもの)
・参照・追加・更新・削除が可能
・最初から5件分のメモリ領域を確保しておき、
6件以上登録する場合は随時動的にメモリを確保する(制限無し)
・[Ctrl+c]を押すことで現在の情報をディスク上へファイルとして生成

問題1のプログラム
#define DEFALUT_NUM 5

/* Global Variable*/
typedef struct {
    int id;
    char name[15];
    char address[200];
    int delflag;
} card_t;

card_t *info,*tmp_info;
int current_id=1;

/*Function*/

void genCSV() {
    int i=1;
    FILE *fp;
    fp = fopen("test.dat","w");
    if( fp==NULL ){
        fprintf(stderr,"test.dat can not be opened!\n");
    }
    while ( i < current_id ) {
        if ( info[i].delflag == 0 ) {
            fprintf(fp,"%d,%s,%s\n",info[i].id,info[i].name,info[i].address);
        }
        i++;
    }
    fclose(fp);
}


/* FLG */

/*Signal Handle*/
void endfunc()
{
    genCSV();
    free(info);
    exit(0);
}

typedef void (*handler_t) (int);
static int sigHandlerSet(int sig, handler_t handler)
{

    struct sigaction new_action;
    struct sigaction old_action;
    memset( &new_action, 0, sizeof( struct sigaction ) );
    new_action.sa_handler = handler;
    /* Temporarily block all other signals during handler execution */
    sigfillset ( &new_action.sa_mask );
    /* Auto restart syscalls after handler return */
    new_action.sa_flags = SA_RESTART;

    if ( sigaction( sig, NULL, &old_action ) != 0 )
    {
        return -1;
    }

    /* Honor inherited SIG_IGN that's set by some shell's */
    if ( old_action.sa_handler != SIG_IGN )
    {
        if ( sigaction( sig, &new_action, NULL ) != 0 )
        {
            return -1;
        }
    }
    return 0;
}

int HandleSignals( void )
{
    if (sigHandlerSet(SIGINT,  endfunc) != 0)
        return -1;
    return 0;
}

void selectAll() {
    int i=1;
    int flag = 0;
    while( i < current_id ) {
        if ( info[i].delflag == 0 ) {
            fprintf(stdout,"id=%d,name=%s,address=%s\n",info[i].id,info[i].name,info[i].address);
            flag = 1;
        }
        i++;
    }
    if ( flag == 0 ) {
        fprintf(stdout,"not found!\n");
    }
}

int selectId(int pid) {
    int i=1;
    int flag=0;
    while( i < current_id ) {
        if ( info[i].id == pid && info[i].delflag == 0 ) {
            fprintf(stdout,"id=%d,name=%s,address=%s\n",info[i].id,info[i].name,info[i].address);
            flag = 1;
            break;
        }
        i++;
    }
    return flag;
}

void insert(char *name,char *address) {
    if ( current_id > DEFALUT_NUM ) {
        tmp_info = (card_t*)realloc(info,(current_id + 1) * sizeof(card_t));
        info = tmp_info;
    }
    info[current_id].delflag = 0;
    info[current_id].id = current_id;
    sprintf(info[current_id].name,"%s",name);
    sprintf(info[current_id].address,"%s",address);
    fprintf(stdout,"stored with id=%d\n",info[current_id].id);
    current_id++;
}

void delete(int pid) {
    info[pid].delflag = 1;
}

void update(int pid,char *name,char *address) {
    sprintf(info[pid].name,"%s",name);
    sprintf(info[pid].address,"%s",address);
}

void printMenu() {
    fprintf(stdout,"Please choose a number from following!\n");
    fprintf(stdout,"1 -> select\n");
    fprintf(stdout,"2 -> insert\n");
    fprintf(stdout,"3 -> update\n");
    fprintf(stdout,"4 -> delete\n\n");
    fprintf(stdout,"menu num[1-4] = ");
}

int main(void) {
    char c[2];
    int i;
    int input=0;
    int id=-1;
    int rc=0;
    char name[15];
    char address[200];

    info = (card_t*) malloc ( sizeof(card_t) * (DEFALUT_NUM + 1) );
    for( i = 0; i < DEFALUT_NUM; i++ ) {
        info[i].id = 0;
        info[i].delflag = 0;
    }

    if ( ( rc = HandleSignals()) != 0 )
        exit(-1);

    while ( 1 ) {
        printMenu();
        scanf("%d",&input);
        switch(input) {
        case 1:
            fprintf(stdout,"id(-1:ALL, or id > 0)-> ");
            scanf("%d",&id);
            if ( id < 0 ) {
                selectAll();
            } else {
                if ( ! selectId(id) ) {
                    fprintf(stdout,"not found!\n");
                };
            }
            break;
        case 2:
            fprintf(stdout,"name-> ");
            scanf("%s",name);
            fprintf(stdout,"address-> ");
            scanf("%s",address);
            insert(name,address);
            break;
        case 3:
            fprintf(stdout,"id-> ");
            scanf("%d",&id);
            if ( id > 0 ) {
                if( selectId(id) ) {
                    fprintf(stdout,"name-> ");
                    scanf("%s",name);
                    fprintf(stdout,"address-> ");
                    scanf("%s",address);
                    update(id,name,address);
                } else {
                    fprintf(stdout,"not found id = %d!\n",id);
                }
            } else {
                fprintf(stderr,"Please set correct id!\n");
            }
            break;
        case 4:
            fprintf(stdout,"id-> ");
            scanf("%d",&id);
            if ( id > 0 ) {
                if( selectId(id) ) {
                    delete(id);
                } else {
                    fprintf(stdout,"not found id = %d!\n",id);
                }
            } else {
                fprintf(stderr,"Please set correct id!\n");
            }
            break;
        default:
            break;
        }

        fprintf(stdout,"do you exit this program?[y|n] ");
        scanf("%s",c);
        if ( c[0] == 'y' ) {
            endfunc();
        }
        fprintf(stdout,"\n\n");


    };

    free(info);

    return 0;
}

忙しさにかまけて、ちゃんと理解できないところがあるので復習しなきゃ。。。
次はpythonへ...





2016年6月12日日曜日

ヒトには時間でしか癒せない痛みがある


先日28歳になりました。この世に生を受けて10000日ちょっと。


昔想像してた28歳よりも、幼く、未熟だけど、
健康で大きな悩みもなく、生活できていると思います。

こういう節目だと、いつもどう生きていこうかな、とか考えてしまうけど、
シンプルに、これからも自分の納得のために生きていきたいと思う。

こだわりこそが人生の彩りだとも思う。


ああ、人生で一度はオーロラを観たいなあ。

Boards of Canada - Macquarie Ridge (Aurora Borealis, Northern Lights) HD...







2016年5月14日土曜日

Marble Mountain, a themed marble machine

[tips]Google Chromeを常にシークレットモードで起動する

Google Chromeを常にシークレットモードで起動する

Windows8
  1. デスクトップのショートカットやスタートメニュー>すべてのプログラムにあるChromeアイコンを右クリック。
  2. 右クリックメニューからプロパティを選択。
  3. Google Chromeのプロパティ起動後、ショートカットタブのリンク先の項目の語尾に--incognitoオプションを追加。こんな感じ→"~\chrome.exe" --incognito
  4. 適用、OKをクリック。
  5. これでChromeアイコンからChromeを起動するとシークレットモードで起動する。

2016年4月27日水曜日

The circle of life.


20代までは、若さと外見の小奇麗さがあれば、押し切れる時代。
30代からは、人生のテーマとどんな風に時間を過ごしているかが外見に出てくる時代。

したがって、年老いても美しいひとは昔から容姿が整っていたのではなく、
長い年月、充実した時間を過ごしてきた証明。

2016年4月4日月曜日

C言語:ファイルの入出力

問題1
下記の条件で、5人分キーボードから入力し、
それをディスク上にファイルとして生成するプログラムを作成。
・受験番号(4ケタ)
・性別(男:M、女:F)
・氏名(20ケタ以内、姓と名の間を"-"でつなぐ)

問題2
問題1で生成したファイルを読み込み、まず性別で分け、
その中を氏名順でソートするプログラムを作成。

問題1のプログラム
struct exam{
  int no;
  char sex;
  char first[10];
  char last[10];
};

int main(void){
  FILE *fp;
  int i;
  struct exam member[10];
  for(i=0;i<5 i="" p="">    printf("%d番目の受験番号を入力してください:",i+1);
    scanf("%d", &member[i].no );
    printf("%d番目の性別を入力してください M/F:",i+1);
    scanf(" %[MF]", &member[i].sex );
    printf("%d番目のファーストネームを入力してください:",i+1);
    scanf("%s", member[i].first );
    printf("%d番目のラストネームを入力してください:",i+1);
    scanf("%s", member[i].last );
  }
   fp = fopen("test.txt","a");
   for(i =0;i<5 i="" p="">        printf("受験番号:%d\n性別:%c\n氏名:%s-%s\n",member[i].no, member[i].sex, member[i].first,member[i].last);
        fprintf(fp,"%d %c %s-%s\n",member[i].no, member[i].sex, member[i].first,member[i].last);
    }
   fclose(fp);
   printf("test.txtに出力完了\n");

  return 0;
}


問題2のプログラム
typedef struct {
  int no;
  char sex[5];
  char name[20];
} exam;
int main(void){
  FILE *fp;
  int  i,j,s=0,t=0;
  exam member[10];
  exam male[10],female[10],x[1],y[1];
  fp = fopen("test.txt","r");
  // ファイルの終端まで文字列を読み取り表示
  for(i=0;i<5 div="" i="">
      if(fscanf(fp,"%d %s %s\n" ,&member[i].no,member[i].sex, member[i].name ) != 3 ) break;
  }
  fclose(fp);
  //性別ごとに分類
  printf( "女性だけ表示\n");
  for (i=0;i<5 div="" i="">
    if(strcmp(member[i].sex,"M")){
     female[t].no = member[i].no;
     strcpy(female[t].sex,member[i].sex);
     strcpy(female[t].name,member[i].name);
     printf( "%d %s %s\n", female[t].no, female[t].sex, female[t].name);
     t++;
    }
  }
  printf( "男性だけ表示\n");
  for (i=0;i<5 div="" i="">
    if(strcmp(member[i].sex,"F")){
     male[s].no = member[i].no;
     strcpy(male[s].sex,member[i].sex);
     strcpy(male[s].name,member[i].name);
     printf( "%d %s %s\n", male[s].no, male[s].sex, male[s].name);
     s++;
   }
  }
  //女性の並べ替え
  for(i=0;i
    for(j=0;j
      if (strcmp(female[j].name,female[j+1].name) > 0) {
         y[1] = female[j];
         female[j] = female[j+1];
         female[j+1] = y[1];
      }
    }
  }
  printf( "女性を氏名順に並び替え\n");
  for(i=0;i
     printf( "%d %s %s\n",  female[i].no, female[i].sex, female[i].name);
  //男性の並べ替え
  for(i=0;i
    for(j=0;j
      if (strcmp(male[j].name,male[j+1].name) > 0) {
         x[1] = male[j];
         male[j] = male[j+1];
         male[j+1] = x[1];
      }
    }
  }
  printf( "男性を氏名順に並び替え\n");
  for(i=0;i
     printf( "%d %s %s\n",  male[i].no, male[i].sex, male[i].name);
  return 0;
  }

2016年2月26日金曜日

C言語:構造体

問題1
受験番号(4桁)と氏名(20文字以内)を5人分入力し、番号順とアルファベット順の
2種類のリストを出力するプログラムを、構造体を用いて作成。

問題2
下記の作家は「このマンガがすごい!オトコ編」と「マンガ大賞」の受賞者で、数字は受賞年を表す。
これを構造体を用いて表し、賞別、受賞年順にソーティングするプログラムを作成。
一番右の"K"、"M"はそれぞれ"このマンガがすごい!"、"マンガ大賞"を示す。

Koyama    - Chuya        2009    M
Murata    - Yusuke       2014    M
Sasuga    - Yu           2013    K
Umino     - Chika        2011    M
Ooima     - Yoshitoki    2015    K
Suetsugu  - Yuki         2010    M
Matsui    - Yusei        2015    K
Yoshimoto - Koji         2012    K

問題1のプログラム
struct exam{
  int no;
  char name[20];
};

int main(void)
{
  int i,j;
  struct exam member[10];
  for(i=0;i<5 d="" for="" i="0;i<5;i++)" j="4;j" member="" name="" no="" printf="" s="" scanf="">i;j--) {
        if (member[j-1].no>member[j].no)
           {
            member[6] = member[j];
            member[j] = member[j-1];
            member[j-1]= member[6];
           }
      }
  }
        printf("番号順にソート\n");
  for(i =0;i<5 d="" for="" i="0;i<5;i++)" j="4;j" member="" n="" name="" no="" printf="" s="">i;j--) {
        if(strcmp(member[j-1].name,member[j].name)>0)
           {
            member[6] = member[j];
            member[j] = member[j-1];
            member[j-1]= member[6];
           }
      }
   }
        printf("アルファベット順にソート\n");
   for(i =0;i<5 0="" d="" i="" member="" n="" name="" no="" pre="" printf="" return="" s="">
        printf("受験番号:%d 氏名:%s\n",member[i].no, member[i].name);
    }
  return 0;
}

問題2のプログラム
struct exam{
  int no;
  char name[20];
};

int main(void)
{
  int i,j;
  struct exam member[10];
  for(i=0;i<5 d="" for="" i="0;i<5;i++)" j="4;j" member="" name="" no="" printf="" s="" scanf="">i;j--) {
        if (member[j-1].no>member[j].no)
           {
            member[6] = member[j];
            member[j] = member[j-1];
            member[j-1]= member[6];
           }
      }
  }
        printf("番号順にソート\n");
  for(i =0;i<5 d="" for="" i="0;i<5;i++)" j="4;j" member="" n="" name="" no="" printf="" s="">i;j--) {
        if(strcmp(member[j-1].name,member[j].name)>0)
           {
            member[6] = member[j];
            member[j] = member[j-1];
            member[j-1]= member[6];
           }
      }
   }
        printf("アルファベット順にソート\n");
   for(i =0;i<5 0="" 13_2.c="" cat="" d="" i="" include="" iwakami="" kadai13="" localhost="" master="" member="" n="" name="" no="" printf="" return="" s="" stdio.h="">

struct manga {
        char name[30];
        int year;
        char award;
};

int main(void)
{
        int i,j;
        struct manga member[10] = {
          {"Koyama    - Chuya    ", 2009, 'M'},
          {"Murata    - Yusuke   ", 2014, 'M'},
          {"Sasuga    - Yu       ", 2013, 'K'},
          {"Umino     - Chika    ", 2011, 'M'},
          {"Ooima     - Yoshitoki", 2015, 'K'},
          {"Suetsugu  - Yuki     ", 2010, 'M'},
          {"Matsui    - Yusei    ", 2015, 'K'},
          {"Yoshimoto - Koji     ", 2012, 'K'},
        };
               printf("構造体を用いて表示\n");
        for(i = 0; i < 8; i++) {
                printf("%s %d %c\n",member[i].name, member[i].year, member[i].award);
        }

        //賞別にソート
        for (i=0;i<8 for="" i="" j="7;j">i;j--) {
               if (member[j-1].award > member[j].award)
                  {
                   member[9] = member[j];
                   member[j] = member[j-1];
                   member[j-1]= member[9];
                  }
             }
         }
     //賞ごとに受賞年順をソート
        for (i=0;i<8;i++) {
           for (j=7;j>i;j--) {
               if ((member[j-1].year > member[j].year)&&(member[j-1].award==member[j].award))
                  {
                   member[9] = member[j];
                   member[j] = member[j-1];
                   member[j-1]= member[9];
                  }
             }
         }
               printf("賞別、受賞年順にソート\n");
         for(i =0;i<8;i++) {
               printf("%s %d %c\n",member[i].name, member[i].year, member[i].award);
           }
return 0;
}

2016年2月3日水曜日

C言語:関数


問題1.
キーボードから正の整数を1つ入力し、それが偶数か奇数かを判断し、偶数なら
    "今入力した整数~は偶数である"
と出力し、奇数の場合も同じように出力するプログラムを関数を用いて作成。
偶数・奇数の判断は関数で行い、入出力はmainで行う。

問題2.
下記のプログラムの*で囲った部分を関数とするプログラムに書き換え。
[プログラム説明]
1~100までの間のすべての素数を求めるプログラム
#define MAX_LENGTH 100
int main(){
    int a[MAX_LENGTH+1], i, n, k;

    for(i=0; i<=MAX_LENGTH; i++)
        a[i] = i;

    n = sqrt(100.0);
*************************************************
    for(k=2; k<=n; k++){
        if(a[k] == 0)
            continue;
        for(i=k*2; i<=MAX_LENGTH; i=i+k)
            a[i] = 0;
    }
*************************************************
    printf("1から100までの素数は以下の通り\n");

    for(i=1; i<=MAX_LENGTH; i++)
        if(a[i] != 0)

    printf("%d ", a[i]);
    printf("\n");
}

問題1のプログラム
int g(int),k(int);
int main(void){
  int x;
  printf("正の整数を入力してください。:");
  scanf("%d",&x);
  g(x);k(x);
  return 0;
}

int g(int s){
  if(s%2==0){
    printf("今入力した整数%dは偶数である。\n",s);
  }
}

int k(int t){
  if(t%2!=0){
    printf("今入力した整数%dは奇数である。\n",t);
  }
}

問題2のプログラム
#define MAX_LENGTH 100

int a[MAX_LENGTH+1], i, n, k;
int prime_num(int);
int main(){
    for(i=0; i<=MAX_LENGTH; i++)
        a[i] = i;

    n = sqrt(100.0);
    prime_num(n);
    printf("1から100までの素数は以下の通り\n");
    for(i=1; i<=MAX_LENGTH; i++)
        if(a[i] != 0)
    printf("%d ", a[i]);
    printf("\n");
}

int prime_num(int x)
{   for(k=2; k<=x; k++){
        if(a[k] == 0)
            continue;
        for(i=k*2; i<=MAX_LENGTH; i=i+k)
            a[i] = 0;
    }
}

2016年1月24日日曜日

C言語:ポインタ

問題1.
変数aの内容と変数bの内容を入れかえるプログラムを、ポインタを用いて作成してください。

問題2.
1から100までの和を求めるプログラムを、ポインタを用いて作成してください。

問題3.
キーボードから10個の整数を配列に入れ、その中の最大値を求めるプログラムを
ポインタを用いて作成してください。

問題4.
下記のソーティングプログラムを、ポインタを用いたものに書き換えてください。

[プログラム説明]
適当な整数を10個キーボードから入力し、そのソート前とソート後の結果を表示するプログラム。

[プログラム]
int main() {
    int a[10], i, j, w;
    printf("整数を10個入力しなさい\n");
    for(i=0; i<=9; i++)
        scanf("%d", &a[i]);
    printf("ソート前… ");
    for(i=0; i<=9; i++)
        printf("%d ", a[i]);
    for(i=0; i<=9; i++)
        for(j=0; j<=9-1; j++)
            if(a[j] > a[j+1]){
                w = a[j];
                a[j] = a[j+1];
                a[j+1] = w;
            }
    printf("\nソート後… \n");
    for(i=0; i<=9; i++)
        printf("%d ", a[i]);
}
問題5.
下記のプログラムにおいて、データにない頭文字が入力されてきたとき
"該当するデータはありません"
と出力されるように、修正を加えてください。

[プログラム説明]
適当に5人の名前を選び、それらの名前をローマ字でポインタ型の配列に初期設定する。
キーボードから英大文字1字を入力し、その英字を名前の先頭にもつ人だけを出力するプログラム。

[プログラム]
int main() {
    char head, *name[5]={"Shibasaki", "Usami", "Muto", "Miyaichi", "Kushibiki"};
    int i;
    printf("英大文字を1字入力しなさい\n");
    scanf("%c", &head);
    printf("%cを先頭に持つ名前は…", head);
    for(i=0; i<=4; i++)
        if(*name[i] == head)
            printf("%s ", name[i]);
    printf("\n");
}

問題1のプログラム
int main(void){
  int *pa,*pb,*x;
  int a = 1,b = 2;
  printf("変数:a=%d  b=%d\n", a,b);
  pa = &a;
  pb = &b;
  printf("入れ替え前:ポインタpa=%d  ポインタpb=%d\n", *pa,*pb);
  x  = pa;
  pa = pb;
  pb = x;
  printf("入れ替え後:ポインタpa=%d  ポインタpb=%d\n", *pa,*pb);
  return 0;
}

問題2のプログラム
int main(void){
  int a = 1,x = a;
  int *pa;
  for (a=2;a<=100;a++){
     x = x + a;
     pa = &x;
  }
  printf("1から100までの和は%d\n",*pa);
}

問題3のプログラム
int main(void){
  int a[10],i,max;
  int *p,*s;
  for(i=0;i<10 i="" p="">    printf("整数を10個入力してください:");
    scanf("%d",&a[i]);
  }
  p = a;
  for(i=1,max=*p;i<10 i="" p="">    if(max<*(p+i)){
      max = *(p+i);}
  }
 printf("最大値は%d",max);
}

問題4のプログラム
int main() {
    int a[10], i, j, w;
    int *p;
    printf("整数を10個入力しなさい\n");
    for(i=0; i<=9; i++)
        scanf("%d", &a[i]);
    //ポインタに配列を代入
    p = a;
    printf("ソート前… ");
    for(i=0; i<=9; i++)
        printf("%d ", *(p+i));
    for(i=0; i<=9; i++)
        for(j=0; j<=9-1; j++)
            if(*(p+j) > *(p+j+1)){
                w = *(p+j);
                *(p+j) = *(p+j+1);
                *(p+j+1) = w;
            }
    printf("\nソート後… ");
    for(i=0; i<=9; i++)
        printf("%d ", *(p+i));
}

問題5のプログラム(これはもっと良い方法があると思うな...)
int main() {
    char head, *name[5]={"Shibasaki", "Usami", "Muto", "Miyaichi", "Kushibiki"};
    int i,j=0;
    printf("英大文字を1字入力しなさい\n");
    scanf("%c", &head);
    printf("%cを先頭に持つ名前・・・", head);
    for(i=0; i<=4; i++){
        if(*name[i] == head){
            printf(" %s", name[i]);
            j++;
        }
      }
        if(j==0)printf("該当するデータはありません");
    printf("\n");
}

2016年1月16日土曜日

Mosaik - Rubik

The man is absorbed in thought on the subject of flow.HNY2016;-)

2016年の12分の1の半分ほどが過ぎてしまったけど、
あらためまして、あけましておめでとうございます。

2015年、27歳になった年は瞬く間に過ぎました。

甥っ子がもうすぐ2歳になる。その甥っ子にとっての一年は人生のほとんどだったわけで、
27年も生きていると、自分の人生を構成する時間がだんだんと薄まっていくのは同然のことのようにも思える。
かと言って、この一年は無下にはしないし、すくすく育つ甥っ子とも仲良くやっていきたい。

おかげさまで、季節の変わり目に風邪を引きつつも、おおむね健康な一年を過ごせたと思う。

去年の年始に達磨を買った。ちゃんと片方の黒目だけ塗って、
目標を定めていたんだけど、完全な形ではないにしても達成することが出来た。
今年はもうひと回り大きな達磨を買う予定。

2015年2月に掲げたやりたいことは↓だった。

  1. 自分の持っていたいビジョンに沿って、仕事・ライフスタイルを再考する。行動する。
  2. 知人のサービスを手伝う。ノウハウを学習する。個人としての能力を高める。
  3. 個人の能力で何かしら成果物を世に出し、お金を稼ぐ。
5点満点で上から、
3.5点
4点
3.5点
という印象。振り返るとなかなかよくやったんじゃないかとも思えるし、
まだまだ出来ることがあったようにも思える。
世話になってる人に迷惑掛けてしまったこともあって、もっともっと自分自身の能力を高めていきたい。

あと、2015年の特に後半は、運動にも意識して時間を割くことが出来た。運動は素晴らしい。
気持ちもポジティブになるし、肉体を稼働させると心体ともに好循環。

かくして、2012年あたりから精進路線として、
楽しいと思える努力をしようとか、個人の能力を高めて所属組織以外でも役に立つ能力を研鑽しようとか、一応はブレない方針で月日を過ごしている。

2016年の目標としては、

  1. ゾーン、フローに入る時間を増加させる
  2. やらないことを決める
  3. 頼る、アウトソースする
と、考えてる。
おそらく今年は自分史上もっとも時間的制約を受けながら、
自分が達成したいスキルや勉学などいくつか重なる年になると思う。


  • ゾーン、フローに入る時間を増加させる
普段の仕事とか資格をとるとかぐうたら過ごす時間とか、自分の時間を切り売りして生活してるわけだけど、
時間の質を高めて、短い時間でもっと成果をあげることができたら、余った時間で休んだり他に回したりすることができる。
特にフローの状態に入れれば、目の前のやるべきことに自我を意識せず没入できる。

(フローについてはwikiから)
フローとは、人間がそのときしていることに、完全に浸り、精力的に集中している感覚に特徴づけられ、完全にのめり込んでいて、その過程が活発さにおいて成功しているような活動における、精神的な状態をいう。
チクセントミハイが見たところによれば、明確に列挙することができるフロー体験の構成要素が存在する。彼は8つ挙げている。
  1. 明確な目的(予想と法則が認識できる)
  2. 専念と集中、注意力の限定された分野への高度な集中。(活動に従事する人が、それに深く集中し探求する機会を持つ)
  3. 自己に対する意識の感覚の低下、活動と意識の融合。
  4. 時間感覚のゆがみ - 時間への我々の主体的な経験の変更
  5. 直接的で即座な反応(活動の過程における成功と失敗が明確で、行動が必要に応じて調節される)
  6. 能力の水準と難易度とのバランス(活動が易しすぎず、難しすぎない)
  7. 状況や活動を自分で制御している感覚。
  8. 活動に本質的な価値がある、だから活動が苦にならない。
フローを経験するためにこれら要素のすべてが必要というわけではない。フローに入るためのもう一つの重要な条件に、他者に妨害されない環境がある。電話がかかってきたり、だれかが部屋に入ってきたりといったいかなる妨害であっても、おそらくフロー経験から引きずり出され、それに対応するモードに移行してしまうだろう。
誰もがフローを経験したことがあると思う。
僕の場合だと学生時代のほうがより深く状態に入れていた記憶があって、
歳を重ねてから、背景事情とか邪念とか諸々の事情とか取り組むべき事柄に対して真っ向から集中できないことが多いように思う。
でも、昨今だと習慣がついてきたのか、このフローの精神状態により多くの時間入っていけるような気がしている。もっとこの時間を増やしたい。

  • やらないことを決める
もともとエンジニアとしてスタートしたのが遅かったこともあって、何かを学ぶことに対して抵抗がない。というか3年間出遅れた分ひとより多く吸収しなければっていう焦りの気持ちも強かった。
なんでも好き嫌いなく食べなければならないという強迫観念に囚われていた。

でも、すべからく中途半端に放り出してしまうこともあるわけで、今年は「自分はこれをやらない」と明確に定めることを意識したい。
特にIT界隈の分野だと、学習すべき幅と深さが途方も無い。今の段階では手を出すべきことでなければ、それはやらない。

  • 頼る、アウトソースする
ひとりで完結したがり。ひとりで閉じることの出来る世界をつくっていくのが好きだ。
自分の趣味や興味の範囲で完結させることは良いことだと思うけど、
仕事のやりがいに対しても同じような姿勢を求めようとすると、
どうしても、ボロがでたり、効率的でなかったり、なにかとうまくまわらない。

2つ目にも関連するけど、自分がやらないと決めたことや、誰かにお願いしたほうが最終的なアウトプットがより良いものになるのなら、その選択肢をとろう。


以上、本年もよろしくです。
フローに関しては、ミハイ・チクセントミハイさんのTEDのプレゼンテーションを貼っておきます。
ぜひ楽しんで下さい。
(´-`).。oO(このミハイ・チクセントミハイって名前は田中太郎田中的な入れ子なの...?)