プログラム初心者です。よろしくおねがいします。
再帰呼び出しの練習のためのプログラムを作成しているのですが、うまくゆきません。
配列tの各要素を木構造のようなかたちで表示させたいです。(詳しくは画像を見てください)
配列の各要素には0から100までのランダムな値を代入します。
配列の要素数はキーボードから入力して指定します。
結果: よりも下の木構造の部分は、関数としてモジュール化し、自分自身を再帰的に呼び出す処理を行いたいです。
自分で考えて、なんとかエラーを出さずに実行するところまできたのですが、自作関数resultの中がおかしいのは自分でもわかります。
ですが、どこで再帰呼び出しをすればよいのか、特に画像の赤いやじるし部分で、処理をまた木構造の上のほうに戻す再帰呼び出しを、どうすればよいのかわかりません。
どのように処理を行えばよいのでしょう。
初心者がさぞ場違いな質問をしているとは思いますが、どうかよろしくおねがいします。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void result(int);
int t[100];
int N;
int main(void)
{
int i=0;
srand(time(NULL));
printf("Nを入力してください。\n");
scanf("%d",&N);
printf("t[%d] : ",N);
while(1){
t[i]=rand()%1000;
printf("%d",t[i]);
i++;
if(i<N) printf(",");
else break;
}
printf("\n");
i=0;
result(i);
return EXIT_SUCCESS;
}
void result(int i)
{
if(i<N){
printf("\t");
i=i+1;
result(i);
printf("%d\n",tree[i+1]);
if(i+2<N) printf("%d\n",tree[i+2]);
else return;
}
else return;
}
よろしくおねがいします。