وجود خطا ; ..ساختمان داده

-Mitra

Member
سلام دووستان مشل این کد چیه که عررور میده اجرا نمیشه :rose:

کد:
#include<iostream.h> 
#include<conio.h> 
#define size 100 
struct  queue{ 
int items[size]; 
int front; 
int rear;}; 
int empty(queue q){ 
if (q.rear==q.front) 
return 1; 
return 0;} 
//-------------------------------------------------- 
void addq (queue &q, int x){ 
int new rear; 
new rear=(q.rear+1)% size; 
if (q.front==new rear) 
cout<<"error"; 
else
{q.items[q.rear]=x; 
q.rear=new rear;}} 
//-------------------------------------------------- 
void removeq(queue &q ,int &x){ 
if (empty(q)) 
cout<<"error"; 
else
{x=q.items[q.front]; 
q.front=(q.front+1)%size;}} 
//---------------------------------------------------- 
void retq(queue &q, int &x){ 
if (empty(q)) 
cout<<"error"; 
else
x=q.items[q.front];} 
//--------------------------------------------------- 
void main(){ 
struct queue q; 
int x; 
int b; 
q.front=0; 
q.rear=-1; 
do{ 
cout<<"enter number:"; 
cout<<"Delet Number:"; 
cout<<"Show Index:"; 
cout<<"EXIT"; 
cin>>b; 
switch(b){ 
case 1: 
cout<<"Enter Number:"; 
cin>>x; 
addq(q,x); 
cout<<x; 
break; 
case 2: 
cout<<"Delet Index"; 
removeq(q,x); 
cout<<x; 
break; 
case 3: 
cout<<"show"; 
retq(q,x); 
cout<<x; 
break;}} 
while (b!=4); 
getch(); }
 

the_king

مدیرکل انجمن
سلام دووستان مشل این کد چیه که عررور میده اجرا نمیشه :rose:

1) new یک عبارت کلیدی زبان ++C است و اسامی متغیر ها شامل کاراکتر فاصله نمی شود، در نتیجه new rear
اسم یک متغیر قابل قبول نیست. در صورت تمایل از new_rear استفاده کنید.

2) تعریف ()main بصورت ()void main استاندارد نیست، از ()int main و ;return 0 در انتهای آن استفاده کنید.

3) الگوریتمی که برای شناسایی خالی و پر بودن صف و درج و حذف کردن آیتم بکار می برید ایراد داره.
رجوع شود به :

پیاده سازی تابع اضافه کردن rear و حذف کردن front در صف به زبان سی

کد:
#include <iostream>
#include <conio.h>

#define size 100

using namespace std;

struct queue
{
    int items[size];
    int front;
    int rear;
};

int empty(queue q)
{
    if (q.rear == q.front)
        return 1;
    return 0;
}

//--------------------------------------------------

void addq(queue &q, int x)
{
    int rear = (q.rear + 1) % size;
    if (q.front == rear)
        cout << "error";
    else
    {
        q.items[q.rear] = x;
        q.rear = rear;
    }
}

//--------------------------------------------------

void removeq(queue &q, int &x)
{
    if (empty(q))
        cout << "error";
    else
    {
        x = q.items[q.front];
        q.front = (q.front + 1) % size;
    }
}

//----------------------------------------------------

void retq(queue &q, int &x)
{
    if (empty(q))
        cout << "error";
    else
    x = q.items[q.front];
}

//---------------------------------------------------

int main()
{
    struct queue q;
    int x;
    int b;
    q.front = 0;
    q.rear = -1;
    do
    {
        cout << "1) Enter number" << endl;
        cout << "2) Delete Number" << endl;
        cout << "3) Show Index" << endl;
        cout << "4) Exit" << endl;
        cin >> b;
        switch (b)
        {
            case 1:
                cout << "Enter Number:";
                cin >> x;
                addq(q, x);
                cout << x;
                break;
            case 2:
                cout << "Delet Index";
                removeq(q, x);
                cout << x;
                break;
            case 3:
                cout << "show";
                retq(q, x);
                cout << x;
                break;
        }
    }
    while (b != 4);
    getch();
    return 0;
}
 

جدیدترین ارسال ها

بالا