مشکل در اجرا برنامه - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مشکل در اجرا برنامه

+1 امتیاز

دوستان کسی میتونه بفهمه مشکل این برنامه چیه که اجرا نمیشه 

# include<stdio.h>
# include<conio.h>

void findt(float arr[],int k);
 # define k 10
 int main()
 {
  float arr[k];
  int i;
  printf("enter number %d",k);
  for(i=0;i<k;i++)
  scanf("%f",&arr[i]);
  findt(arr,k);
    	getch();
      return 0;
  }
  //###################################
  void findt(float arr[],int k)
  {
  int maxcont = -1;
  float maxvelue;
  int i,j,currentcont;
  float currentvalue;
  for(i=0;i<k;i++)
   {
    currentvalue = arr[i];
    currentcont = 0;
    for(j = 0;j <k;j++){
       if(arr[i] == currentvalue)
          currentcont++;
          if (currentcont> maxcont)
          {
            maxcont=currentcont;
            maxvelue=currentvalue;
           }
           }
            printf("\nmax add tekrarr");
            printf("%d is %d",maxvelue,maxcont);

            getch();
            }

 

سوال شده اردیبهشت 14, 1393  بوسیله ی jahadgar (امتیاز 380)   24 41 54
نه امتحان کردم مشکل این نیست اجرا کنید خودتون

2 پاسخ

+2 امتیاز
خط 1 2 و 5 بین # و include یا define فاصله نذار!!!
پاسخ داده شده اردیبهشت 14, 1393 بوسیله ی daniyaltjm (امتیاز 840)   48 89 103
+2 امتیاز

علاوه بر این که فاصله بین define , include اضافست

مشکل اصلی اینه که وقتی از define استفاده می کنی قبل از اجرای کد همه ی k ها با 10 عوض میشن

یعنی مثلا تعریف تابع میشه این

void findt(float arr[],int 10)

که مشخصه اشتباهه .

یا اسم متغیر k داخل تابع رو عوض کن

یا از const استفاده کن به جای define که بهتر هم هست

به جای خط define اینو بزار

const int k=10;

 

پاسخ داده شده اردیبهشت 15, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...