تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 10 از 10

نام تاپيک: تشخیص palindrome

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2007
    پست ها
    87

    پيش فرض تشخیص palindrome

    سلام بر همگی
    غدير خم و ولادت عيسي بن مريم برهمه بني آدميان مبارك باد.....
    دوستان من یه برنامه ای میخوام که تشخیص بده ، کلمه ی وارد شده palindrome است یا نه ؟! (palindrome یعنی کلمه هایی مثل گرگ ، کیک ، kavak و...) البته نتونستم بنویسم ، البته چند موردی رو پیدا کردم که با function نوتشته شدن ، کارم میکنن ، ایرادی ندارن انا رو هم میذارم شاید به درد کسی بخوره !:
    #include<stdio.h>
    #include<ctype.h>
    #include<string.h>

    int isPalindrome( char *s );

    int main ( void )
    {
    int i = 0;
    int ch;
    char s[100];

    while ((ch = getchar()) != '\n') {
    if (isalpha(ch)) {
    s[i] = ch;
    i++;
    }
    }

    if ( isPalindrome(s) == 1) {
    printf("Yes, is a palindrome.\n");
    } else {
    printf("No, not a palindrome.\n");
    }

    return 0;

    }

    int isPalindrome( char *s )
    {
    int i = strlen(s)-1;
    int j = 0;

    while (j<=i) {
    if(s[j] != s[i]) {
    return 0;
    }
    i--;
    j++;
    }
    return 1;
    }

    اینم دومی :

    #include <stdio.h>

    #include <stdlib.h>

    #include <string.h>

    char palindrome(char *,int,int);

    main(){

    char x[50],y[50]; /*I wrote it without using any functions I wasn't previously familiar with*/

    int i=0,j,r=0,k,len; /*will try to use the functions when I find time*/

    printf("Type your string\n");

    gets(x);

    len=strlen(x);

    for (j=0;j<len;j++){

    if (x[j]>='A' && x[j]<='Z') /*turning caps into lowercase*/

    y[r++]=x[j]-('A'-'a'); /*making new string stripped of everything but letters*/

    if (x[j]>='a' && x[j]<='z') /*did this to simplify slightly, my task wasn't worded very clearly anyway*/

    y[r++]=x[j];

    }

    k=r-1;

    if (palindrome (y,i,k)==1)

    printf("You've got yourself a palindrome\n");

    else if (palindrome (y,i,k)==0) printf ("Not a palindrome\n");

    getchar();

    } /*Works perfectly. Overall, a combination of everything you guys suggested*/

    char palindrome(char a[],int i,int k){

    if (i>=k) return 1;

    else if (a[i]!=a[k]) return 0;

    else if (a[i]==a[k]) return palindrome(a,i+1,k-1);

    else return 0;

    }
    ولی من بدون تابع میخوام .... لطفا راهنمایی کنین
    با سپاس........

  2. #2
    اگه نباشه جاش خالی می مونه sherlockholmz's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    دنياي قبل از مرگ
    پست ها
    439

    پيش فرض

    سلام،
    يك راهنمائي مي كنم اگر توانستيد برنامه را بنويسيد كه فبها اگر نشد يك كاري مي كنيم.
    يك روش يافتن چنين كلماتي مقايسه آنه با معكوسشان است. بدين ترتيب كه كلمه راذخيره مي كنيم،سپس معكوسش را در جاي ديگر و آندو را با هم مقايسه مي كنيم.اگر يكسان بود آن كلمه بقول شما palindrome است.
    موفق باشيد.

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2007
    پست ها
    102

    پيش فرض

    سلام،
    يك راهنمائي مي كنم اگر توانستيد برنامه را بنويسيد كه فبها اگر نشد يك كاري مي كنيم.
    يك روش يافتن چنين كلماتي مقايسه آنه با معكوسشان است. بدين ترتيب كه كلمه راذخيره مي كنيم،سپس معكوسش را در جاي ديگر و آندو را با هم مقايسه مي كنيم.اگر يكسان بود آن كلمه بقول شما palindrome است.
    موفق باشيد.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] salam lotfan mano add konid man neveshtam baraton scan mikonam miferestan baraton

  4. #4
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2007
    محل سكونت
    no living
    پست ها
    62

    پيش فرض

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

    اميدوارم تونسته باشم کمکتون کنم.

  5. #5
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2007
    پست ها
    102

    پيش فرض

    #include<stdio.h>
    #include<string.h>
    main()
    {
    char *ptr;
    char strl[15],strl[15];
    int i,j,l,flag=0,ans=0;
    system("clear");
    printf("Enter the string to check it is palindrome or not ?");
    scanf("%s",strl);
    for(i=0;strl[i]!='\0';i++)
    ans++;
    ptr=strl;
    for(i=0,j=ans-1;strl[i]!='\0';i++,j--);
    {

    strl[i]=strl[j];
    }
    for(i=0;strl[i]!='\0';i++);
    {
    if(strl[i]!=strl[i])
    {
    flag=1;
    break;
    }
    }
    if(flag==1)
    printf("\a The entered string is not palindrome ");
    else if (flag==0)
    printf("the entered string is palindrome ");
    printf("\n");
    }

  6. #6
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2007
    پست ها
    87

    پيش فرض

    سلام ... خیلی ممنون از لطف همه دوستان ...
    آقای [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] خیلی ممنون ... شرمنده کردید....

  7. #7
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2007
    پست ها
    87

    پيش فرض

    دوست عزیز برنامه ایراد داره !!!!

  8. #8
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2007
    پست ها
    102

    پيش فرض

    salam man dishab in barname ro toi vi editore linux neveshtam kamelan kar mikard labod shoma daghighan eyne in barme ro toi turbo c neveshtid ke error dare khob az header conio.h estefade konid dar zemn system("clear ra pak konid va akharesh getch bezarid hatman kar mikonem ya inke mano add konid az tarigh yahoo messenger [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ta moshkeletoni hal konam

  9. #9
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2007
    پست ها
    102

    پيش فرض

    salam khodai in dige kar mikone emtehanesh kardam roi turbo c
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    int flag=0,i,len;
    int main()
    {
    char s[10];
    char *ptr;
    printf("\n Enter the string to be check ");
    scanf("%s",s);
    len=strlen(s);
    ptr=s;

    palindrome(ptr);
    }
    palindrome(char *c)

    {
    char *ptr1,*ptr2;
    ptr2=c+(len-1);
    ptr1=c;
    for(i=0;i<=len/2;i++)
    {
    if(*ptr1==*ptr2)
    {
    flag=1;
    ptr1++;
    ptr2--;
    }
    else
    {
    flag=0;
    break;
    }
    }
    if(flag==1)
    printf("\n palindrome ");
    else
    printf("\n not palindrome\n");
    getch();
    return 0;
    }

  10. #10
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2007
    پست ها
    102

    پيش فرض

    salam dooste aziz inam ye jore dige
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    char st[100];
    int i,l;
    printf("\n pls enter the string for check palindrome");
    gets(st);
    for(l=0;st[l]!='\0';l++);
    for(i=0,l--;i<=l/2;i++)
    if(st[i]!=st[l-i])
    break;
    if(i>l/2)
    printf("\n palindrome ");
    else
    printf(" \n notpalindrome ");
    getch();
    return 0;

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •