اطلاعیه

Collapse
No announcement yet.

شمارش کاراکترها و کلمات

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    شمارش کاراکترها و کلمات

    با سلام به تمامی دوستان عزیز
    برنامه زیر ،برنامه شمارش تعداد کلمات وکاراکترهای یک جمله ورودی است.
    به نظرم برنامه ایرادی ندارد اما نمی دانم چرا نتیجه درست را نشان نمی دهد.

    [img]http://[http://www.4shared.com/photo/wHN0rQrz/untitled.html/img]
    [imghttp://www.4shared.com/photo/wHN0rQrz/untitled.html][/img]
    [http://www.4shared.com/photo/wHN0rQrz/untitled.html][http://www.4shared.com/photo/wHN0rQrz/untitled.html]

    اشکال اصلی در وجود if هست،چون وقتی if را بر می دارم وفقط تعداد کاراکترها را شمارش می کند،درست کار می کند.اما نمیدانم ایراد if کجاست که با قرار گرفتن آن نتیجه بدست آمده اشتباه میشود.
    ممنون می شوم راهنمایی ام کنید.



    با سپاس فراوان
    زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

    #2
    پاسخ : شمارش کاراکترها و کلمات

    برنامه کو؟

    دیدگاه


      #3
      پاسخ : شمارش کاراکترها و کلمات

      با سلام مجدد به تمامی دوستان انجمن
      من که نفهمیدم چرا عکس های پلود شده ام نمایش داده نشدن!؟(باور کنید دقیقا همان طوری که تو سایت گفته شده،عکس ها رو پلود کردم،اگه کسی میدونه کجا اشتباه کردم،ممنون میشم راهنمایی ام کنه)
      حالا مجبورم برنامه رو براتون تایپ کنم.یه عذر خواهی بابت اینکه برنامه کمی بهم ریخته شده(در این مورد هم نمیدونستم چیکار کنم،ممنون میشم برای تایپ برنامه نیز بگید باید از چه ابزاری استفاده کنم تا خوانایی بهتری داشته باشد،تازه کارم وهزار نکته ندانسته)
      برنامه زیر ،برنامه شمارش تعداد کلمات وکاراکترهای یک جمله ورودی است.
      به نظرم برنامه ایرادی ندارد(Errorویا Warning نمیگیره) اما نمی دانم چرا نتیجه درست را نشان نمی دهد.

      <include <iostream.h#
      <include <conio.h#
      int main()
      {
      while(1)
      {
      ; int ch=0,word=0
      ; ":cout<<"Enter a statement
      (n' while(cin.get()!='\
      }
      ' &#039==()if(cin.get
      {;++word}
      ;++ch
      {
      ;"cout<<endl<<"Character #:"<<ch<<"\t"<<&q uot;Word #:"<<(word+1)<<"\n\n\n
      }

      }

      اشکال اصلی در وجود if هست،چون وقتی if را بر می دارم وفقط تعداد کاراکترها را شمارش می کند،درست کار می کند.اما نمیدانم ایراد if کجاست که با قرار گرفتن آن نتیجه بدست آمده اشتباه میشود.
      ممنون می شوم راهنمایی ام کنید.
      زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

      دیدگاه


        #4
        پاسخ : شمارش کاراکترها و کلمات

        این هم لینک عکس گرفته شده از برنامه

        http://www.4shared.com/photo/wHN0rQrz/untitled.html
        زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

        دیدگاه


          #5
          پاسخ : شمارش کاراکترها و کلمات

          تابع cin.get یه کاراکتر میگیره (اگه اشتباه نکنم چون من با getch و getchar کار میکردم زمانی که تحت داس مینوشتم)
          خب شما بهتره اون cin.get اولی رو بدین به یه متغیر کاراکتری مثلا mychar

          <include <iostream.h#
          <include <conio.h#
          ; int ch=0,word=0
          char mychar;
          int main()
          {
          while(1)
          {
          ; ":cout<<"Enter a statement
          (n' while(mychar!='\
          }
          ' &#039==if(mychar
          {;++word}
          ;++ch
          {
          ;"cout<<endl<<"Character #:"<<ch<<"\t"<<&q uot;Word #:"<<(word+1)<<"\n\n\n
          }
          }

          دیدگاه


            #6
            پاسخ : شمارش کاراکترها و کلمات

            شما میتونید با این برنامه ساده هم طول رشته کلماتت رو داشته باشی :
            کد:
            #include <iostream.h>
            #include <conio.h>
            void main(){
            int i;
            for (i=0;cin.get()!='.';i++);
            cout<<"Length is = "<<i;
            getch();
            }

            دیدگاه


              #7
              پاسخ : شمارش کاراکترها و کلمات

              نوشته اصلی توسط vivaams
              شما میتونید با این برنامه ساده هم طول رشته کلماتت رو داشته باشی :
              کد:
              #include <iostream.h>
              #include <conio.h>
              void main(){
              int i;
              for (i=0;cin.get()!='.';i++);
              cout<<"Length is = "<<i;
              getch();
              }
              با سلام و تشکر از اینکه پاسخ دادید،اما من با شمارش کاراکترها مشکلی ندارم،بلکه مشکل من با شمارش کلمات است که در برنامه ای که نوشتم،با وجود آنکه هم تعداد کاراکترها وهم تعداد کلمات را میدهد،اما این تعداد را درست نمیدهد.به طور نمونه جمله ای که شامل 26 کاراکتر و7 کلمه است را،چاپ میکند که شامل 14 کاراکتر و 4 کلمه است.مشکل من اینجاست :angry:
              اگر برنامه ایراد داره پس چرا Error یا Warning نمیگیره.تازه تعداد کاراکتر و کلمه را هم چاپ می کند اما نمی دانم چرا تعداد را اشتباه چاپ می کند.
              زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

              دیدگاه


                #8
                پاسخ : شمارش کاراکترها و کلمات

                شمارش کلمات اصلا سخت نیست
                شما میتونی این کار رو بکنی : هروقت به 0/ یا space رسیدی به یک متغیر مثل j یکی اضافه کنی

                دیدگاه


                  #9
                  پاسخ : شمارش کاراکترها و کلمات

                  دقیقا با حرف شما موافقم.من هم در برنامه فوق دقیقا همین کار راکردم.
                  من برنامه شمارش کاراکتر و کلمات را به روش دیگری نوشتم،اما این برام سوال شده که چرا برنامه فوق با وجود اجرا شدن و عدم وجود خطا و بازگرداندن جواب،اما پاسخ را اشتباه می دهد.
                  ممنون میشم که راهنمایی ام کنید.
                  زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

                  دیدگاه


                    #10
                    پاسخ : شمارش کاراکترها و کلمات

                    نوشته اصلی توسط mojalan
                    تابع cin.get یه کاراکتر میگیره (اگه اشتباه نکنم چون من با getch و getchar کار میکردم زمانی که تحت داس مینوشتم)
                    خب شما بهتره اون cin.get اولی رو بدین به یه متغیر کاراکتری مثلا mychar

                    <include <iostream.h#
                    <include <conio.h#
                    ; int ch=0,word=0
                    char mychar;
                    int main()
                    {

                    while(1)
                    {
                    ; ":cout<<"Enter a statement
                    (n' while(mychar!='\
                    }
                    ' &#039==if(mychar
                    {;++word}
                    ;++ch
                    {
                    ;"cout<<endl<<"Character #:"<<ch<<"\t"<<&q uot;Word #:"<<(word+1)<<"\n\n\n
                    }
                    }
                    با سپاس از پاسختان،برنامه شما دقیقا مانند برنامه خودم است که بجای تابع کتابخانه ای از متغیر کاراکتری استفاده شده است.اما با این وجود برنامه شما در نرم افزار Borland C++ V5.02 هیچ پاسخی را برنمیگرداند.
                    زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

                    دیدگاه


                      #11
                      پاسخ : شمارش کاراکترها و کلمات

                      سلام ، من هم تقریبا به همین مشکل خوردم
                      بهت توصیه میکنم خودکشی کن :job:
                      روش کارسازیه
                      راحت میشی
                      از همه چیز :nice:

                      دیدگاه

                      لطفا صبر کنید...
                      X