نمایش نتایج 1 تا 16 از 16

نام تاپیک: حذف کردن فاصله ها در يک جمله

  1. #1

    Post حذف کردن فاصله ها در يک جمله

    يه برنامه به زبان پاسکال مي خوام که يه جمله رو بگيره اسپيساش يا همون بلنک هاشو حذف کنه و دوباره جمله ي اوليه رو و نتيجه رو بتايپه.خودم نوشتم اما error ميده ميشه کمک کنين...
    آخرین ویرایش به وسیله salvariana : جمعه 06 آذر 1388 در 14:33 عصر

  2. #2

    نقل قول: حذف کردم بلنکهاي يک جمله

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


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  3. #3
    برنامه اي که نوشتم اينه: واسه پاسکال مي خوام.
    program blank;
    var
    a:array[1..200]of char;
    i,n,k,j:integer;
    begin
    write('enter number of sentences:');
    readln(n);
    writeln('enter sentences:');
    for i:=1 to n do
    read(a[i]);
    for i:=1 to n do
    if a[i]=' ' then
    begin
    for j:=i to n do
    a[j]:=a[j+1];
    end;
    writeln;
    write('the output sentences:');
    for i:=1 to n do
    write(a[i]);
    readln(k);
    end.

  4. #4

    نقل قول: حذف کردم بانکهاي يک جمله

    تو حلقه دوم j+1 از تعداد کاراکتر های a در هنگام j=nبیش تر میشه و خطا می ده .

  5. #5

    نقل قول: حذف کردم بانکهاي يک جمله

    نقل قول نوشته شده توسط pezhvakco مشاهده تاپیک
    تو حلقه دوم j+1 از تعداد کاراکتر های a در هنگام j=nبیش تر میشه و خطا می ده .
    خوب چيکار کنم پس:-??

    من گفتم بايد هر وقت به بلنک ميرسيم بايد کاراکتر يه دونه بياد عقب! ميشه بيشتر راهنمايي کنين لطفا"

  6. #6

    نقل قول: حذف کردم بانکهاي يک جمله

    خب، الان این کد شما که جمله نمیگیره،کارکتر میگیره. اگر میخواید جمله بگیره، باید بجای اون آرایه از string استفاده کنید:
    a : string;

    اون وقت می تونید a را بصورت یک جمله توسط readln از کاربر بگیرید.

    وقتی a را گرفتید، طولش را با استفاده از تابع Length حساب کنید، و با استفاده از یک حلقه for معکوس، عناصر آن را چک کنید، اگر فاصله پیدا کردید، با استفاده از تابع Delete آن را حذف کنید:

    Len := Lenght(a);
    for i := Len downto 1 do
    if a[i] = ' ' then
    Delete(a,i,1);


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7

    نقل قول: حذف کردم بانکهاي يک جمله

    با همون حلقه ها بدون استفاده از تابع delete آقای مدیر می تونید بنویسید فقط باید حلقه دوم را تا n-1 ادامه دهید .

  8. #8

    نقل قول: حذف کردن فاصله ها در يک جمله

    با همون حلقه ها بدون استفاده از تابع delete آقای مدیر می تونید بنویسید فقط باید حلقه دوم را تا n-1 ادامه دهید .
    اون روش کلا اشکال داره. اگر قرار هست ورودی بصورت کارکتر به کارکتر گرفته بشه، اصلا نیازی به اون حلقه ها نیست، میشه در همان زمان ورود کارکترها وجود فاصله را تشخیص داد، و اگر فاصله ایی وارد شد بود، آن را در آرایه وارد نکرد. اما به همچین کاری دیگه گرفتن جمله و تشخیص وجود فاصله در آن گفته نمیشه!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  9. #9

    Question نقل قول: حذف کردن فاصله ها در يک جمله

    ببخشيد اما من اين برنامه و يک برنامه ديگه که از همين روش استفاده مي کنه رو مي نويسم تو پاسکال اما يه error ميده که ; لازمه اونم بعد end e آخر بعد اينو ميذارم ميگه begin مي خواد اونو ميذارم ميگه يه end. مي خواد باز اينو مينويسم error اولي رو ميده

    من اين برنامه ها رو فردا بايد تحويل بدم ممنون ميشم کمک کنين.
    چون وقت ندارم کدا رو دوباره بنويسم و از داخل پاسکال نميشه کپي کرد فايل.pas ش رو آپلود کردم:
    http://www.2shared.com/file/9549264/...fc/SPACE1.html

    ممنون ميشم واقعا".

  10. #10

    نقل قول: حذف کردن فاصله ها در يک جمله

    Length خودش یک تابع استاندارد پاسکال هست دیگه چرا تعریفش کردی ؟

    این هم کد اصلاح شده :

    Program Test;
    Uses WinCrt;
    var
    ST:String;
    Len,i:Integer;
    begin
    Write(' Enter sentences :');
    ReadLn(ST);
    Len:=Length(ST);

    for i:=Len downto 1 do
    if st[i]=' ' then
    Delete(ST,i,1);

    WriteLn;
    WriteLn(ST);

    ReadLn;
    end.


    راستی چرا رشته رو از آخر به اول جست و جو کردی ؟
    آخرین ویرایش به وسیله Felony : یک شنبه 08 آذر 1388 در 20:09 عصر

  11. #11

    Smile نقل قول: حذف کردن فاصله ها در يک جمله

    مرسييييييييي بالاخره اين يکي درست شد

    آخه من داخلturbo pascal 7مينوشتم که crt ايش length رو نميشناسه و error ميده. الان رفتم پاسکال تحت win اين جواب ميداد واقعا" تشکر.

    downto رو آقاي کشاورز گفتن فرقي نداره با to البته ...

  12. #12

    نقل قول: حذف کردن فاصله ها در يک جمله

    downto رو آقاي کشاورز گفتن فرقي نداره با to البته ...
    من هم نگفتم فرق داره فقط میخواستم ببینم که کار خاصی مد نظرتون بوده که اینطور که معلومه دلیل خاصی نداشتید .

  13. #13

    نقل قول: حذف کردن فاصله ها در يک جمله

    راستی چرا رشته رو از آخر به اول جست و جو کردی ؟
    برای اینکه میخواد فاصله ها رو از رشته حذف کنه، و با حذف هر کارکتر از رشته، ترتیب ایندکس های بعد از آن کارکتر در رشته تغییر میکنه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  14. #14

    نقل قول: حذف کردن فاصله ها در يک جمله

    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
    برای اینکه میخواد فاصله ها رو از رشته حذف کنه، و با حذف هر کارکتر از رشته، ترتیب ایندکس های بعد از آن کارکتر در رشته تغییر میکنه.
    منظورتون رو کامل متوجه نشدم ،درسته که ایندکس کارکترها تغییر میکنه ولی خوب این کد هم درست کار میکنه :

    Program Test;
    Uses WinCrt;
    var
    ST:String;
    Len,i:Integer;
    begin
    Write(' Enter sentences :');
    ReadLn(ST);
    Len:=Length(ST);

    for i:=1 to Len do
    if st[i]=' ' then
    Delete(ST,i,1);

    WriteLn;
    WriteLn(ST);

    ReadLn;
    end.

  15. #15

    نقل قول: حذف کردن فاصله ها در يک جمله

    منظورتون رو کامل متوجه نشدم ،درسته که ایندکس کارکترها تغییر میکنه ولی خوب این کد هم درست کار میکنه
    نه، اگر چند فاصله پشت سر هم وجود داشته باشند، درست عمل نمیکنه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  16. #16

    نقل قول: حذف کردن فاصله ها در يک جمله

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

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •