[1] 授業単元:pra
[2] 問題文(含コード&リンク):
配列において,同一の値を持ついくつかの連続する要素を,ブロックと呼び,その要素の個数をブロックの長さと呼ぶことにする.整数型配列 data の最初から n 個の要素に値が入っているとする.この
配列のもっとも長さの長いブロック(そのようなブロックが複数個ある場合は,添え字の小さい方)の先頭要素の添え字を返す関数
int longest_block(int data[], int n)
を定義せよ.たとえば,
data[] = {1, 3, 1, 4, 4, 4, 1, 3, 3, 2, 2, 2, 1}
のときは, 4, 4, 4 と 2, 2, 2 とがもっとも長いブロックであるが,添え字が小さい方ということで, 4, 4, 4 が選ばれ,その先頭要素の添え字 3 が関数の返す値となる.
この関数を用いて,次の main を実行した結果は何か.
#include <stdio.h>
#include <stdlib.h>

#define N 1000

main()
{
int data[N];
int i, m;

srand(1);
for (i = 0; i < N; i++) {
data[i] = rand() % 10;
}
m = longest_block(data, N);
printf("%d\n", m);
}
[3] 環境
 [3.1] OS:VineLinux
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:C
[4] 期限:2005年7月8日24:00まで
すいませんがおねがします。