C言語の問題で分からない問題があるのですが、画像を張りたいのですが、どうすればいいのでしょうか?
画像はデスクトップにあります。
C言語の問題で分からないのがある
Re: C言語の問題で分からないのがある
あ、圧縮して添付すればいいのか。
失礼しました・・・。
この問題の【a】、【b】、【c】に正しい解を入れるのですが、それ以前にstructの中に自分の構造体名でポインタで宣言してあるのが全く理解出来ないのですが・・・。
あとこれにもし、テストデータを与えるとして、どんな形で与えればいいのでしょうか・・・。
失礼しました・・・。
この問題の【a】、【b】、【c】に正しい解を入れるのですが、それ以前にstructの中に自分の構造体名でポインタで宣言してあるのが全く理解出来ないのですが・・・。
あとこれにもし、テストデータを与えるとして、どんな形で与えればいいのでしょうか・・・。
Re: C言語の問題で分からないのがある
そのまんま自分の構造体のポインタを宣言しているだけですが・・・。sadora3 さんが書きました:structの中に自分の構造体名でポインタで宣言してあるのが全く理解出来ないのですが・・・。
例えばこんな感じのコードを書いて、sadora3 さんが書きました:あとこれにもし、テストデータを与えるとして、どんな形で与えればいいのでしょうか・・・。
test.c
#include <stddef.h>
#define MAX_NODE 50
struct node {
char factor;
struct node *L_pointer;
struct node *R_pointer;
};
char result[MAX_NODE];
int i;
void inorder(struct node *);
void inorder(struct node *pp) {
int sp;
struct node *wp[MAX_NODE], *cp;
sp = 0;
cp = pp;
while(cp != NULL || sp > 0) {
while(cp != NULL) {
wp[sp++] = cp;
BLANK_A ;
}
while(cp == NULL && sp > 0) {
BLANK_B ;
result[i++] = cp->factor;
BLANK_C ;
}
}
}
#include <stdio.h>
#define MAX_NODE 50
struct node {
char factor;
struct node *L_pointer;
struct node *R_pointer;
};
extern char result[MAX_NODE];
extern int i;
void inorder(struct node *pp);
int main(void) {
struct node tree[10];
int c;
tree[0].factor = 0;
tree[0].L_pointer = &tree[1];
tree[1].factor = 1;
tree[1].L_pointer = &tree[3];
tree[3].factor = 3;
tree[3].L_pointer = NULL;
tree[3].R_pointer = &tree[4];
tree[4].factor = 4;
tree[4].L_pointer = NULL;
tree[4].R_pointer = NULL;
tree[1].R_pointer = &tree[5];
tree[5].factor = 5;
tree[5].L_pointer = NULL;
tree[5].R_pointer = NULL;
tree[0].R_pointer = &tree[2];
tree[2].factor = 2;
tree[2].L_pointer = &tree[6];
tree[6].factor = 6;
tree[6].L_pointer = NULL;
tree[6].R_pointer = &tree[7];
tree[7].factor = 7;
tree[7].L_pointer = NULL;
tree[7].R_pointer = NULL;
tree[2].R_pointer = &tree[8];
tree[8].factor = 8;
tree[8].L_pointer = &tree[9];
tree[9].factor = 9;
tree[9].L_pointer = NULL;
tree[9].R_pointer = NULL;
tree[8].R_pointer = NULL;
i = 0;
inorder(tree);
for (c = 0; c < i; c++) printf("%d%c", result[c], c + 1 < i ? ' ' : '\n');
return 0;
}
gcc -o test -s -static test.c test2.c -DBLANK_A="【A】に入れる内容" -DBLANK_B="【B】に入れる内容" -DBLANK_C="【C】に入れる内容"
このコードでは、 という2分木を与えています。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: C言語の問題で分からないのがある
ああ!なるほど!理解出来ました。
ありがとうございました。
あと、返信遅れて申し訳ありませんでした・・・。
ありがとうございました。
あと、返信遅れて申し訳ありませんでした・・・。