তামিম শাহরিয়ার সুবিন-এর লেখা কম্পিউটার প্রোগ্রামিং ২য় খণ্ড প্রকাশ করেছে দ্বিমিক প্রকাশনী। বিস্তারিত জানতে এখানে ক্লিক করুন।

সমস্যা - ৭

সমস্যাটি দিয়েছেন সাকিবুল মওলা, সিএসই, সাস্ট (২০১১-২০১২ ব্যাচ)।

৫২টি প্রোগ্রামিং সমস্যা ও সমাধান বইতে এই সমস্যার সমাধান নিয়ে আলোচনা করা হয়েছে।

১৩টি মন্তব্য:

  1. Why thic code is showing runtime error?
    #include
    #include

    int main()
    {
    int line,i;
    scanf("%i",&line);
    char *out[line];

    unsigned long in[line];
    unsigned long temp;
    for(i=0;i<line;i++)
    scanf("%d",&in[i]);

    for(i=0;i<line;i++){

    temp=sqrt(in[i]);

    out[i]=(in[i]==temp*temp)?"YES":"NO"; }

    for(i=0;i<line;i++)
    printf("\n%s",out[i]);

    }


    উত্তরমুছুন
    উত্তরগুলি
    1. I am not sure why this code is getting runtime error. But you don't need to take all the input first and then show output. You can take one input and show it's output:

      scanf("%d", &n);

      for (i = 0; i < n; i++) {
      scanf("%d", &num);

      // now you can show result / output
      }

      মুছুন
  2. উত্তরগুলি
    1. এখানে কোড না দিয়ে ফেসবুক পেজে দেওয়াই ভালো।

      মুছুন
  3. my code also show run time error......what is the problem...can u tell me pls..

    উত্তরমুছুন
    উত্তরগুলি
    1. Runtime error occurs mostly for improper array indexing. Say your array size is 10 and you access ara[10] or ara[11]; or input string size is larger than you can handle (you declared char s[10] to take input a string which has more than 10 elements). Another reason is divide by zero. Another one is declaring an array so big that there is not enough memory. There are some more reasons for run time error. You have to explore.

      মুছুন
  4. if i sumit the answer in c++ it accepts but if i submit in c then it show run time error.but why??

    উত্তরমুছুন
  5. #include
    #include
    using namespace std;


    int main()
    {
    int size;

    cin>>size;
    double *ar=new double[size];

    for(int i=0;i>ar[i];

    int k,j;

    for(int i=0;i<size;i++)
    {
    j=sqrt(ar[i]);
    k=ar[i];

    if(k==j*j) cout<<"Yes"<<endl;
    else cout<<"NO"<<endl;
    }
    }

    উত্তরমুছুন
  6. #include
    #include
    int aonil(char* ptr){
    int number=0;
    while(*ptr!='\0'){
    if(*ptr==' '){
    ptr++;
    continue;
    }
    else{
    while(*ptr!=' '){
    ptr++;

    }
    }
    number++;
    ptr++;
    }
    return number;
    }
    int main(){
    char line_input[500];
    int line_amount,i,*ptr;
    scanf("%d",&line_amount);
    ptr=(int*) calloc(line_amount,sizeof(int));
    getchar();
    for(i=0;i<line_amount;i++){
    gets(line_input);
    *(ptr+i)=aonil(line_input);
    }

    for(i=0;i<line_amount;i++){
    printf("%d\n",*(ptr+i));
    }

    free(ptr);
    return 0;
    }

    showing wrong answer .
    any suggestion for me .
    please help

    উত্তরমুছুন
  7. এই মন্তব্যটি লেখক দ্বারা সরানো হয়েছে।

    উত্তরমুছুন
  8. এই মন্তব্যটি লেখক দ্বারা সরানো হয়েছে।

    উত্তরমুছুন
  9. এতটুকু পর্যন্ত পেরেছি।একেবারে sample output এর মত করতে পারিনি।
    #include
    int main()
    {
    int a,b=1,c,i,n;

    scanf("%d",&a);
    while(b<=a)
    {
    b++;
    scanf("%d",&n);

    if(n%4!=1 && n%4!=0)
    printf("NO\n");
    else
    {
    c=0;
    for(i=0;i<3163;i++)
    {
    if(i*i==n)
    {
    c=1;
    break;
    }
    }
    if(c==1)
    printf("YES\n");
    else
    printf("NO\n");
    }
    }
    return 0;
    }

    উত্তরমুছুন

এখানে বিষয়সংশ্লিষ্ট মন্তব্য কিংবা প্রশ্ন করা যাবে। বাংলায় মন্তব্য করার সময় বাংলা হরফে লিখতে হবে। আর রোমান হরফে লিখলে ইংরেজিতে লিখতে হবে। নতুবা মন্তব্য প্রকাশ করা হবে না। ধন্যবাদ।