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

نام تاپیک: پیاده سازی پشته جهت ذخیره داده های رشته ای

  1. #1
    کاربر دائمی آواتار mehdi5106
    تاریخ عضویت
    مهر 1385
    محل زندگی
    جوين
    پست
    251

    Question پیاده سازی پشته جهت ذخیره داده های رشته ای

    با سلام خدمت همه
    بچه ها من این برنامه رو نوشتم اما درست جواب نمیده و مشکل داره اگه میشه یکی برام اصلاحش کنه.
    برنامه اصلی این هست که چند رشته رو می گیره و در پشته قرار میده.
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #define SIZE 100
    struct stack
    {
    int top;
    char item[100][100];
    };
    struct stack *ps;
    char k[10];
    void push(struct stack *ps,char *s)
    {
    if(ps->top==SIZE-1)
    {
    printf("Stack Overflow");
    exit(1);
    }
    for(int i=0;k[i];i++)
    *ps->item[i][++(ps->top)]=s;
    }
    int empty(struct stack *ps)
    {
    if(ps->top==-1)
    return 1;
    else
    return 0;
    }
    char pop(struct stack *ps)
    {
    if(empty(ps))
    {
    printf("Stack Underflow");
    exit(1);
    }
    return *(ps->item[(ps->top)--]);
    }
    void main()
    {
    ps->top=-1;
    clrscr();
    char s[10];
    gets(s);
    push(ps,s);
    printf("%c\n\n\n",pop(ps));
    getch();
    }



  2. #2
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,175
    char pop(struct stack *ps)

    این متد یک کاراکتر را بر می گرداند! نه یک رشته
    بهتره برای پرسیدن این سوالات پیغام خطایی را که دریافت می کنید در اینجا بنویسید
    اگر خطا منطقی است بنویسید که چه مشکلی بوجود می آید
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  3. #3
    کاربر دائمی آواتار mehdi5106
    تاریخ عضویت
    مهر 1385
    محل زندگی
    جوين
    پست
    251
    من برنامه برای قرار دادن کاراکتر و اعداد در پشته رو تونستم بنویسم اما برای قرار دادن رشته در پشته مشکل دارم.

    اگر ممکنه برام اصلاحش کنید.

  4. #4
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,175
    بهتره برای کار با متغیر های رشته ای از توابع آن در هدر string.h استفاده کنید.
    در مورد تابع pop هم اگه قراره یک string به عنوان خروجی داشته باشه ، باید به صورت زیر تعریف بشه
    char *pop(struct stcak *ps)
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

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

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