2

このプログラムでは、次のことを行う必要があります。 ユーザーと単純な数字の推測を行うプログラムを作成します。ユーザーは数字を考え、コンピューターがその数字を正しく推測できるまで、一連の質問に答えます。

私の問題は、コンパイラが次のように言っていることです: 'arr' 宣言されていません (この関数で最初に使用)

これまでの私のコードは次のとおりです。

#include <stdio.h>
#include "strlib.h"
#include "simpio.h"

#define size 200

int binSearch (int num);
void getArray (int arr[]);

main()
{
      printf("Think of a number in the range of 1-200 and I'll guess it.\n");
      int arr[size];
      getArray(arr);
      binSearch(arr);
      getchar();
}

void getArray (int numbers[])
{
      int number;

      for(number=1;number>=200;number++)
      {
                 arr[number]=number;                                 
      }    
}

int binSearch(int num)
{
      int low, high, mid;
      string strReply;

      low=0;
      high=size-1;

      while(low<=high);
      {
                 mid=low+high/2;
                 printf("\nIs the number %d ?\t", mid);
                 strReply= GetLine();
                 if(StringEqual(strReply, "no"))
                 {
                          printf("Is the number less than %d ?\t", mid);
                          if(StringEqual(strReply, "no"))
                          { 
                                     high=mid-1;                         
                          }
                          else if(StringEqual(strReply, "yes"))
                          {
                                     low=mid+1;     
                          }
                 }
                 else if(StringEqual(strReply, "yes"))
                 { 
                          return(mid);     
                 }
                 else
                 {
                          return(-1);    
                 } 
}

ありがとうございました :)

4

3 に答える 3