どうしてもできません。
//??のとこだけ作るのですが
お願いします。
//スタンプ結合
static int const in_data[] = {2, 3, 6, 8, 4, 10, 5, 7, 9, 1, -1};
#include <stdio.h>
#define SIZE 20
typedef struct {
int in_data[SIZE];//??
int data[SIZE];//??
} param_t;
int input(param_t*);//??
void sort(param_t*);//??
void output(param_t*);//??
//---------------------------------------------
int main() {
int cc;
param_t param[SIZE];//??
cc = input(param);//??
if (cc != 0) {
printf("Input error!\n");
return -1;
}
sort(param);//??
output(param);//??
return 0;
}
//---------------------------------------------
// 関数inputの定義
int input(param_t* st)/*??*/ {
for( int i = 0; ; i++) {
if( in_data[i] < 0 ) {
return 0;
}
if( i>=SIZE ) return -1;
st->data[i] = st->in_data[i];//??
}
} // end of input
//---------------------------------------------
// 関数sortの定義
void sort(int param[], int x)/*??*/ {
for( int i = 0; i < x/*??*/; i = i+1) {
int j = i;
int x = param[i]/*??*/;
while((param/*??*/[j-1] > x) && (j > 0)) {
param/*??*/[j] = param/*??*/[j-1];
j = j-1;
}
param/*??*/[j]=x;
} // end_for
} // end of sort
//---------------------------------------------
// 関数outputの定義
void output(int param[], int x)/*??*/ {
for( int i = 0; i < param[i]/*??*/; i++) {
printf("%d ", in_data[i]/*??*/);
}
printf("\n");
}// end of ouput
いろいろ調べてみまして手詰まりになってしまいました。
よろしくお願いします。
もう一つあるのですが
// データ結合
static int const in_data[] = {2, 3, 6, 8, 4, 10, 5, 7, 9, 1, -1};
#include <stdio.h>
#define SIZE 20
int input(int data[], int *dsize);//??
void sort(int data[], int dsize);//??
void output(int data[], int dsize);//??
//---------------------------------------------
int main() {
int cc;
int data[SIZE];
int dsize;
cc = input(data, &dsize);//??
if (cc != 0) {
printf("Input error!\n");
return -1;
}
sort(data, dsize);//??
output(data, dsize);//??
return 0;
}
//---------------------------------------------
// 関数inputの定義
int input(int data[], int *dsize)/*??*/ {
for( int i = 0; ; i++) {
if( in_data[i] < 0 ) {
dsize++;//??
return 0;
}
if( i>=SIZE ) return -1;
data[i] = in_data[i];
}
} // end of input
//---------------------------------------------
// 関数sortの定義
void sort(int data[], int dsize)/*??*/ {
for( int i = 0; i < dsize; i = i+1) {
int j = i;
int x = data[i];
while((data[j-1] > x) && (j > 0)) {
data[j] = data[j-1];
j = j-1;
}
data[j]=x;
} // end_for
} // end of sort
//---------------------------------------------
// 関数outputの定義
void output(int data[], int dsize)/*??*/ {
for( int i = 0; i < dsize; i++) {
printf("%d ", data[i]);
}
printf("\n");
}// end of ouput
#endif
うまく動きません。
#endifがある場合、
どのようにすればいいのでしょうか?
よろしくお願いいたします。