ページ 11

宿題がわかりません

Posted: 2016年12月22日(木) 13:54
by ファットマン大佐
問題は、8 月の台風の上陸の間隔についてのデータを作るよう求めよ
サンプルとなる5 個の台風について上陸した日が与えられるので、それぞれ (2 個目以降) について直前の上陸日との間隔日数を出力してください。


日にちを入力しなさい
  1
5
15
27
28

出力
4
10
12
1

コード:

 
#define DAY 5
int main(void){
    int d[DAY];
    int i, k;
    
    for(i = 0; i < DAY; i++)
    scanf("%d", &d[i]);
    k = d[i] - (d[i] + 1);
    printf("%d\n", k);
    
    return 0;
}

Re: 宿題がわかりません

Posted: 2016年12月23日(金) 00:06
by metaphor
アルゴリズム(?)を考えつきました。

コード:

//一分木だから1-5-15-27-28のノードは5
//               ④ ⑩  ⑫  ① パスは4
#include <stdio.h> 
#define DAY 5             //DAY=データ数
int main(void){
    int d[DAY];         //台風の上陸日=ノード
    int i, k;
    
	for(i = 0; i < DAY; i++){
        scanf("%d", &d[i]);   //台風の上陸日ノード表
    }
    printf("\n\n出力\n\n");
	for(i = 1; i < DAY; i++){
        printf("%d\n", d[i] - d[i-1]);//台風の上陸日パス
    }
    // k = d[i] - (d[i] + 1);
    // printf("%d\n", k);
    return 0;
}

Re: 宿題がわかりません

Posted: 2016年12月23日(金) 09:25
by metaphor
ご指摘ありがとうございます。訂正版です。

コード:

#include <stdio.h>                    //ヘッダー部分
#include <math.h>                    //数学演算
 int main(void) {                   //main関数
    const int N=100;
    int i;                        //ループ変数
        for(i=1; i <= N; i++){   //for文i=1より初めてNより小の間 1ずつ増やし
            printf("%d\t",(int)( pow((float)-1, (float)i )  *  i ) ); //交互に正-負を操り換えし
		}                      //標準出力に数列を書き出す
        return N;             //main関数の返却値:通常0:必要に応じて-1などを返す
}

Re: 宿題がわかりません

Posted: 2016年12月23日(金) 09:47
by metaphor
失礼いたしました。場所を間違えました。

Re: 宿題がわかりません

Posted: 2016年12月23日(金) 11:24
by metaphor
ペアノの公理的に厳格に定義するとしてみれば、「最初の数には"前者”が存在しない」「他の数には必ず"前者”が存在する」「その数は"前者”より大きいか等しい」という公理をみたさい数は当てはまらないことになります。