>>315
俺も突っ込んで良い?

input () で確保した構造体配列が溢れたときに realloc() してるけど、同じサイズで realloc() してるから意味無いよ
そして入力した個数を main() に返してないから output() では何個表示すべきか判らないから3個表示してる
採点するとかなり厳しい結果になりそうだね

普通に考えると count や size も main() が知るべきだから input( value* data, int* pcount, int* psize ) とするべきだろうね
size に関しては main() が知る必要は無いから input() に管理を任せても良いが、その場合は初回の malloc() も input() で
行なうべきだろう
当然 output( value* data, int count ) になるね

余談だが、C++使えるんなら value の管理クラスを作成するのが一番望ましい
class value_array {
private:
 value* data;
 int size;
 int count;
public:
 value_array();
 ~value_array();
 void add( value* indata );
 int getCount( void );
 const value* getData( int index );
};
こんな感じで良いと思う