ছোট থেকে বড়! ( Lower to Upper! )

তোমাকে T সংখ্যক ইংরেজিতে লেখা নাম দেওয়া আছে। নামগুলোতে ইংরেজি বড় হাতের A থেকে Z অক্ষর, ছোট হাতের a থেকে z অক্ষর এবং স্পেস দেওয়া থাকতে পারে। তোমাকে নামগুলোর সবগুলো অক্ষরগুলোকে বড় হাতের বানাতে হবে। অর্থাৎ, যেই অক্ষরগুলো আগে ছোট হাতের ছিল, সেগুলো এখন বড় হাতের হয়ে যাবে। আর যেই অক্ষরগুলো আগে থেকেই বড় হাতের ছিল, সেগুলো এখনো ঠিক আগের মতই বড় হাতেরই থেকে যাবে। স্পেসগুলো ঠিক ইনপুটে যেভাবে দেওয়া থাকবে, সেই জায়গাতেই রেখে দিতে হবে।

ইনপুটের বর্ণনা

ইনপুট ফাইল এর প্রথম লাইন এ থাকবে একটি পূর্ণ সংখ্যা T (1 <= T <=১০০০০) যা ফাইল এ কতগুলো ইনপুট সেট আছে তা বুঝাবে। এরপরের T সংখ্যক লাইনের প্রতিটিতে একটি করে নাম থাকবে। প্রতিটি নামে স্পেসসহ সর্বোচ্চ ১০০ টি করে অক্ষর থাকবে।

আউটপুট এর বর্ণনা

প্রথম লাইন ব্যতিত অন্য সকল ইনপুট লাইনের জন্য এক লাইন আউটপুট দিতে হবে। প্রতিটা কেসের জন্য কেসের ক্রম এবং সেই কেসটার ইনপুটে দেয়া নামটি বড় হাতের অক্ষরে প্রিণ্ট করতে হবে। সঠিক ফরম্যাট জানার জন্যে উদাহরণের ইনপুট ও আউটপুটগুলো দেখে নাও।

Sample

input:
2 Hasnain Heickal Jami Mir Wasi Ahmed

OUTPUT: Case 1: HASNAIN HEICKAL JAMI Case 2: MIR WASI AHMED

My work--

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>

int main(){
    int i,j,t,kase;
    char word[1002],s[1002];
    scanf("%d",&t);
    for(kase=1;kase<=t;kase++){
        scanf(" %[^\n]",s);
        int s_len=strlen(s);
        for(i=0,j=0;i<s_len;i++){
            if(s[i]>='a' && s[i]<='z'){
                word[j]='A'+(s[i]-'a');
                j++;
            }
            else if(s[i]>='A' && s[i]<='Z'){
                word[j]=s[i];
                j++;
            }
            else{
                word[j]='\0';

                printf("%s",word);
                printf(" ");
                j=0;
            }
        }
        if(j>0){
            word[j]='\0';
            printf("%s\n",word);
            j=0;
        }
    }

    return 0;
}

CAN ANYONE HELP ME WITH FULL CODE ?? + GIVE ME SOME HINT

asked 03 Mar '16, 08:43

AhadKhan's gravatar image

AhadKhan
95223


প্রথমে আপনি চেক করেছেন (if(s[i]>='a' && s[i]<='z')) character টা কি ছোট হাতের কিনা। হলে বড় হাতের করেছেন।

এরপর আপনি চেক করেছেন else if(s[i]>='A' && s[i]<='Z') character টা কি বড় হাতের কিনা। হলে বড় হাতেরই রেখেছেন।

এরপর কি চেক করবেন else এ? কি আসবে else এ? অবশ্যয় বড় হাতের ছোট হাতের অক্ষর ছাড়া খালি space বাকি আছে। তাহলে space আসবে else এ। space কে space এর মতই রাখবো। তাহলে লিখবোঃ

else{
     word[j]=s[i];
    }

তাহলে প্রিন্ট কখন করবো? যখন for(i=0,j=0;i<s_len;i++) শেষ হবে।

permanent link

answered 03 Mar '16, 10:08

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k522

But how will I print the CASE number??Case is shown in the question

(03 Mar '16, 12:40) AhadKhan

And I tried that you said.It showed incorrectly.Please give me solution from the question ,not from my code please.I am very disappointed about this problem.

(03 Mar '16, 12:43) AhadKhan
1

@AhadKhan প্রোগ্রামিং এ হতাশ হওয়া যাবে না। ব্যর্থতা থাকবেই। তবে পাড়ছি না বলে হতাশ হয়ে ছেড়ে দেবো বা অন্যের কাছে সম্পূর্ণ কোড চাবো এরকম করা যাবে না। তাহলে সারাজীবন অন্যের উপর নির্ভরশীল থাকতে হবে।

যাই হোক আমি আপনাকে একটি কোড দিচ্ছি (http://ideone.com/l6U5kR)। আপনার করা কোডকে modify করেছি (যাতে বুঝতে পারেন আপনি ঠিক পথেই ছিলেন আর কি কি করা দরকার ছিল)। আশা করি এই যেন শেষ কারো কাছে সম্পূর্ণ কোড চাওয়া হয়। :)

(03 Mar '16, 14:16) Kaiser Ahmed

There is only simple mistake on my code! OHHHHHH!!!!!But thanks for the code.

(03 Mar '16, 14:40) AhadKhan
1

I don't need code anymore.I have understood a lot from your code.I am absolutely new programmer.So your hint will help me a lot .Thanks for everything.

(03 Mar '16, 14:42) AhadKhan

You most welcome. Carry on. Best wishes for you.

(03 Mar '16, 14:56) Kaiser Ahmed
showing 5 of 6 show 1 more comments
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:

×402
×214
×54
×2

question asked: 03 Mar '16, 08:43

question was seen: 1,035 times

last updated: 03 Mar '16, 14:56