前提・実現したいこと
以下のプログラムの空欄部(1)~(20)を埋め実行結果になるようにしたい。しかし実行結果から何をするプログラムか分からず
どこから手をつけたら良いかわからない
発生している問題・エラーメッセージ
該当のソースコード
#include <stdio.h> #include <string.h> void sort(char str[][4], int n); void ins(char str[][4], int p); int srch(char k[], char str[][4], int n); void prt(char str[][4], int n); int main(void) { char s[][4] = { (1) , (2) , (3) , (4) , (5) , (6) }; prt(s, 5); sort(s, 6); prt(s, 6); printf("%d %d %d %d\n", srch( (7) , s, 6), srch( (8) , s, 6), srch( (9) , s, 6), srch( (10) , s, 6)); return 0; } void prt(char str[][4], int n) { int i; for(i = (11) ; i >= 0; i--) printf("%s ", str[i]); putchar(’\n’); } void sort(char str[][4], int n) { if(n < (12) ) return; (13) (str, (14) ); (15) (str, (16) ); } void ins(char str[][4], int p) { int i; char (17) ; strncpy(k, str[p], 4); i = p - 1; while(i >= 0 && strcmp(k, str[i]) < 0){ strncpy(str[i+1], str[i], 4); i--; } strncpy(str[i+1], k, 4); } int srch(char k[], char str[][4], int n) { int p = 0, q = n-1, r, c; while(p <= q){ r = (p + q) / 2; c = (18) (k, str[r]); if( (19) ) return r; if( (20) ) q = r-1; else p = r+1; } return -1; }
試したこと
実行結果を
$ ./a.out
Tue Wed Thu Sat Fri
Wed Tue Thu Sat Mon Fri
1 4 5 -1
補足情報(FW/ツールのバージョンなど)
C#関係ないのでタグ外してください。
>どこから手をつけたら良いかわからない
分かるところまで戻ってください。