ছোটদের প্রোগ্রামিং শেখা এখন আগের চেয়েও সহজ। কারণ দ্বিমিক প্রকাশনী থেকে বের হয়েছে তামিম শাহরিয়ার সুবিন-এর "পাইথন দিয়ে প্রোগ্রামিং শেখা"! বিস্তারিত জানতে এখানে ক্লিক করুন

সমস্যা - ৩


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

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

  1. স্ট্রিং ইনপুট নিয়ে সেখান থেকে স্পেস কাউন্ট করে সল্ভ করলাম। এরচেয়ে ভালো কোন আইডিয়া আছে ভাইয়া????

    -Hasib.

    উত্তরমুছুন
  2. This function looks complex to use! (I use PHP's explode function usually, that's why) :(

    উত্তরমুছুন
  3. I my solution i have used 1000 sized char array to store input.That means it can store maximum 500 numbers at a time.But in your question you didn't define any limitation for input.But still my answer got accepted.I think it shouldn't.

    উত্তরমুছুন
    উত্তরগুলি
    1. I didn't define any limitation, that doesn't mean that it's unlimited. So your answer got accepted and it's absolutely OK in my opinion. :)

      মুছুন
  4. :(
    i tried wt my code using strtok(), but i get an extra 0 after insertig the test case? can u pls tell me y it's occuring how to correct it? any suggestions?? :(

    #include
    #include

    int main()
    {
    int t,i,count;
    char *token;
    char *str[1001];
    const char s[3]={" "};


    scanf("%d",&t);

    for(i=0;i<t;++i)
    {
    gets(str);
    count=0;
    token =strtok(str,s);
    while(token!=NULL)
    {
    token=strtok(NULL, s);
    ++count;
    }
    printf("%d\n",count);
    }
    return 0;
    }

    pls pls pls help me soon :(

    উত্তরমুছুন
  5. I am constantly getting this error "prog.c:1: error: expected identifier or '(' before '<' token". But on IdeOne.com, the code was compiled successfully. here is my code

    #include

    int main(void){
    int lines,i,c;
    char sentence[1000];
    scanf("%d",&lines);
    int a[lines];
    for (i=0; i < lines; i++)
    {
    scanf(" %[^\n]s", sentence);
    char *word=strtok(sentence, " ");
    c=0;
    while(word!=NULL)
    {
    word = strtok(NULL, " ");
    c++;
    }
    a[i]= c;
    }
    for (i=0; i < lines; i++)
    {printf("%d\n",a[i]);}
    return 0;
    }

    The compilation was also successful from my laptop. The problem seems generic. Any thoughts would be greatly appreciated.

    উত্তরমুছুন
  6. Why am I getting the result Wrong Answer? Please review my codes.

    #include
    #include
    #include

    int main()
    {
    int n, i, j, count;
    char string[10000];

    scanf("%d", &n);

    for(j=0; j<n; j++)
    {
    count=1;
    fflush(stdin);
    gets(string);
    for(i=0; i<strlen(string); i++)
    {
    if(string[i]==' ') count++;
    }
    printf("%d\n", count);
    }
    return 0;
    }

    উত্তরমুছুন
  7. আচ্ছা , এখানে যে বলা হয়েছে , নাম্বার গুলোর মধ্যে এক বা একাধিক স্পেস ক্যারেক্টার থাকবে , এখানে একাধিক বলতে কয়টা বুঝাচ্ছে ?

    উত্তরমুছুন
  8. আমার কোড টা প্লিজ একটু দেখুন । এখানে সব আউটপুটই তো Correct দিচ্ছে । তবুও Wrong Answer দেখাচ্ছে !
    লিঙ্কঃ http://paste.ubuntu.com/14663248/

    উত্তরমুছুন
  9. conio.h হেডার ফাইল টি সাপোর্ট করছে না। করলে ভালো হত :3

    উত্তরমুছুন
    উত্তরগুলি
    1. এই হেডার ফাইল এই যুগে কেউ ব্যবহার করে না। এর কোনো দরকারও নাই। এবং এটি ANSI C সমর্থিতও নয়। কেন যে তোমরা ২০ বছর আগের বই পড়ে সি শিখো। :(

      মুছুন
  10. ভাইয়া আমি gets ব্যবহার করে problem টা solve করলাম। কিন্তু এখন time limit exceeded দেখাচ্ছে :(

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

    উত্তরমুছুন
  12. ভাইয়া আমি একজন beginner..so আমার সল্প জ্ঞানে একটা code লিখছি কিন্তু সেটা Hall of Fameএ খুজেই পাওয়া যাচ্ছে না। :'(
    আমার code :

    #include
    int main()
    {
    int n, x;
    char c;
    scanf("%d", &n);
    int i[n], a = n;
    while(n--){
    i[n] = 0;
    while(1){
    i[n] += scanf("%d", &x);
    scanf("%c", &c);
    if(c == 10)break;
    }
    }
    while(a--){
    printf("%d\n", i[a]);
    }
    return 0;
    }

    উত্তরমুছুন
  13. i am a beginnier and i am not comfortable with string yet, so is there any solution without using string?
    plz help me about this

    উত্তরমুছুন
  14. #include
    #include

    int main(void) {
    int i, k,j, len, count, isNumber;
    int line_no,countlin[100];
    char charArray[1000];



    scanf("%d\n", &line_no);

    for(k = 0; k < line_no; k++){
    i = 0;
    len = 0;
    count = 0;
    isNumber = 0;

    gets (charArray);
    len = strlen(charArray);

    for(i = 0; i < len; i++){
    if (charArray[i] != ' '){
    if(isNumber == 0){
    isNumber = 1;
    count++;
    }
    }

    if(charArray[i] == ' '){
    isNumber = 0;
    }

    if(charArray[i] == "\n"){
    break;
    }
    }

    countlin [k] = count;
    }
    printf("\n");
    for(j=0;j<4;j++){
    printf("%d\n", countlin[j]);
    }
    return 0;
    }
    why is this problem wrong ans?.any fault in this problem? pls pls tell me brother

    উত্তরমুছুন

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