#include<stdio.h>
int main()
{
    int line,i;
    char str[1000];
    printf("How many line?\n");
    scanf("%d",&line);
    for(i=0;i<line;i++)
    {
        gets(str);
    }
    printf("Output:\n");
    for(i=0;i<line;i++)
    {
        puts(str);
    }

    return 0;
}

আমি একটা প্রোগ্রামে ৪/৫ লাইনে স্ট্রিং ইনপুট নিতে চাই এবং তা প্রিন্ট করে যেকোন লাইনের length(words) হিসাব করতে চাই । এটা কিভাবে করবো?আমি চেষ্টা করেছি কিন্তু logic টা বুঝতেসি না। কেউ যদি একটু বুঝিয়ে দিতেন খুব উপকৃত হতাম ।

asked 21 Jun '15, 07:56

john's gravatar image

john
7310

retagged 08 Aug '15, 15:12

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k522


আপনার লজিকে একটু সমস্যা আছে । আপনি যদি n সংখ্যক লাইন ইনপুট নিতে চান তাহলে n সংখ্যক কেরেক্টার এরে না স্টিং ডিক্লিয়ার করতে হবে । যা আপনি একটি ২ ডাইমেনশোনাল ক্যারেকটার এরে দিয়ে করতে পারেন ।

যেমনঃ

char str[100][100];

এখানে str[0] তে প্রথম লাইন, str1 এ দ্বিতীয় লাইন ... এভাবে স্টোর হবে । এর জন্য কোড হবে এরকম ।

for(i=0;i < line;i++)
{
   gets(str[i]);
}

আর প্রিন্ট করার সময় প্রিন্ট করুন এভাবে

for(i=0;i < line;i++)
{
    puts(str[i]);
}

এখানে gets এর মাধ্যমে ইনপুট নিলে নিউলাইনও ইনপুট হিসেবে নেয় তাই আপনি যখন line ইনপুট নেওয়ার পর এন্টার প্রেস করবেন সেটাকে প্রথম স্টিং হিসেবে নিয়ে নিবে । এর জন্য লাইন ইনপুট নেওয়ার পর একটি লাইন লিখতে হবে ।

getchar();

এটি অবাঞ্চিত লাইনটিকে স্কিপ করে যাবে ।

পুরো কোড

#include< stdio.h>
int main()
{
    int line,i;
    char str[100][100];
    printf("How many line?\n");
    scanf("%d",&line);
    getchar();
    for(i=0; i < line; i++){
        gets(str[i]);
    }
    printf("Output:\n");
    for(i=0; i < line; i++){
        puts(str[i]);
    }

    return 0;
}

নীচের লিংক গুলো দেখতে পারেন।

permanent link

answered 21 Jun '15, 14:02

Sharif%20Chowdhury's gravatar image

Sharif Chowdhury
3.5k111

অসংখ্য ধন্যবাদ বুঝিয়ে দেয়ার জন্য । কিন্তু getchar() এর ব্যাপার টা বুঝতে পারলাম না। কষ্ট করে যদি একটু বলতেন ভাইয়া ।

(21 Jun '15, 15:42) john
2

এখানে ইনপুটে line এর মান 3 নিতে চাইলে আমরা ইনপুট স্ক্রিনে লিখি 3<enter> এর ফলে line তে 3 ও str[0] তে <enter> অ্যাসাইন হইছে। str[0] তে যেন <enter> না আসে এজন্য getchar() ব্যাবহার করা হয় । এতে করে <enter> টা ইনপুট নিয়ে স্কিপ হয়ে যায় ।

উত্তরটি সঠিক মনে হলে একসেপ্ট করুন।

(21 Jun '15, 17:51) Sharif Chowdhury
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:

×17
×6
×1

question asked: 21 Jun '15, 07:56

question was seen: 894 times

last updated: 08 Aug '15, 15:12