#include <stdio.h>
#include <string.h>
int main()
{
    int T, i, S, len;
    char A[101];
    scanf("%d", &T);
    for( ; T>0; T--) {
        scanf(" %[^\n]", &S);
        len = strlen(S);
        for(i=0; i<len; i++) {
            if(S[i]>='A' && S[i]<='Z')
                printf("%d", S[i]-64);
        }
    }
    return 0;
}

এই কোডের if(S[i]>='A' && S[i]<='Z') লাইনে এরর দেখিয়ে subscripted value is neither array nor pointer nor vector মেসেজ দেখাচ্ছে। কেউ পারলে সমস্যাটি বুঝিয়ে বলুন।

asked 07 Sep, 20:46

BlackbeardAbid's gravatar image

BlackbeardAbid
111

edited 08 Sep, 04:27

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
48618


S একটি ইন্টিজার হিসেবে ডিক্লেয়ার করেছেন। ইন্টিজারের কোনো ইনডেক্স থাকে না, কিন্তু আপনি if(S[i]>='A' && S[i]<='Z' লাইনে ইনডেক্স এক্সেস করতে চাইছেন। কম্পাইলার তাই বলছে যে subscripted value (অর্থাৎ ভ্যারিয়েবল S) কোনো অ্যারে, পয়েন্টার বা ভেক্টর নয়।

S একটি স্ট্রিং অর্থাৎ ক্যারেক্টার অ্যারে হিসেবে ডিক্লেয়ার করতে হবে।

char S[1001];         //দৈর্ঘ্য আপনার প্রয়োজন অনুযায়ী ঠিক করুন।

অন্যদিকে, আপনি স্ট্রিং ডিক্লেয়ার করেছেন ভ্যারিয়েবল A-তে, কিন্তু কোথাও ব্যবহার করেননি। S-এর পরিবর্তে A বসান সব জায়গায়, ঠিক হয়ে যাবে। S ভ্যারিয়েবলটির আসলে কোনো দরকার নেই। স্ট্রিং ইনপুট নেয়ার সময় & চিহ্নটি ব্যবহার করতে হয় না।

scanf(" %[^\n]",A);
permanent link

answered 08 Sep, 04:39

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
48618

edited 08 Sep, 04:41

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×390

question asked: 07 Sep, 20:46

question was seen: 67 times

last updated: 08 Sep, 04:41