PDA

View Full Version : سوال: راهنمایی برای برطرف کردن خطاهای کد برنامه



veniz2008
سه شنبه 06 دی 1390, 19:45 عصر
سلام دوستان،من برنامه n وزیر رو با ++c نوشتم،اما موقع اجرا 4 تا خطا میده،من کدی رو که نوشتم به همراه خطاها میزارم،اساتید لطف کنن خطاها رو بهم بگن،تشکر از کمکی که میکنید،
کد برنامه:

#include<iostream.h>
#include<math.h>
#include<conio.h>

int *col,n;

bool promising(int);

void queens(int i)
{
int j;
if(promising(i))
if (i==n){
for(int index=1;index<=n;index++)
cout<<col[index]<<" ";
cout<<endl;
}
else
for(j=1;j<=n;j++)
{
col[i+1] = j;
queens(i+1) ;
}
}

bool promising(int i)
{
int k;
bool myswitch;
k=1;
myswitch = true;
while (k<i && myswitch)
{
if(col[i]==col[k]||abs(col[i]-col[k])==(i-k))
myswitch = false;
k++;
}
return myswitch;
}

void main()
{
cout<<"Enter Number Of Queens\n";
cin>>n;
col=new int[n];
queens(0);
getch();
}

خطاها:
1. خطای مربوط به تعریف تابع promising در خط 7 برنامه، declaration syntax error
2.میگه تابع promising در خط 12 که درون تابع queen صدا زده شده،تعریف نشده و قابل تشخیص نیست.
3.متغیر bool مربوط به تابع promising در خط 26 برنامه،بیش از یک بار مقداردهی اولیه شده.
4.در واقع همون خطای شماره 1 رو میده و خطای syntax میگیره از تعریف تابع promising(این خطا مربوط به خط 26 هستش).

sayvan
سه شنبه 06 دی 1390, 20:47 عصر
سلام از تابع بول خطا میگیره فکر کنم تو سی پلاس پلاس تابع بول نداریم احتمالاً درست نمیدونی من بیشتر سی شارپ مینویسم فکر کنم جواب میده خودت چک کن
#include<iostream.h>
#include<math.h>
#include<conio.h>
int *col,n;
int promising(int);
void queens(int i);



void main()
{
cout<<"Enter Number Of Queens\n";
cin>>n;
col=new int[n];
queens(0);
getch();
}
int promising(int i)
{
int k;
int myswitch;
k=1;
myswitch = 1;
while (k<i && myswitch)
{
if(col[i]==col[k]||abs(col[i]-col[k])==(i-k))
myswitch = 0;
k++;
}
return myswitch;
}


void queens(int i)
{
int j;
if(promising(i))
if (i==n){
for(int index=1;index<=n;index++)
cout<<col[index]<<" ";
cout<<endl;
}
else
for(j=1;j<=n;j++)
{
col[i+1] = j;
queens(i+1) ;
}
}

b.saminjad
سه شنبه 06 دی 1390, 21:15 عصر
سلام

کامپایلرهای borland 4.5 به بعد نوع bool دارن قبل از اون ندارن من این برنامه رو با 5.02 امتحان کردم خطایی نداشت که این خطاها فقط میتونه ایراد ار نسخه کامپایلر باشه

veniz2008
سه شنبه 06 دی 1390, 21:44 عصر
از هر 2 دوستی که جواب دادن متشکرم،با راهنمایی شما دوستان تونستم که برنامه رو اجرا کنم،متشکرم.

Mehrnoosh Sobyani
جمعه 06 دی 1392, 16:43 عصر
سلام
برنامه رنگ آمیزی گراف رو نوشتم خطای syntax داره
لطفا راهنمایی کنید
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
int promising(int i)
m_coloring(i)
{
if(promising(i))
{
if(i==n)
for(int index=1;index<=n;index++)
cout<<"color[index]";
cout<<endl;
}
else
{
for(int c=1;c<=m;c++)
{
color[i+1]=c;
m_coloring(i+1);
}
}
}


int promising(int i)
{
for(j=1;j<i;j++)
{
if(w[i][j]==true && color[i]==color[j])
return false;
}
return true;
}

struct node
{
char color;
char adj_colors[26];
};
const short n = 10;

const char color_list[]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
short matrix[n][n], m, num = 0;

void main()
{

char color;
char list[n];
short i, j, k;
int v;
char ch;
clrscr();
cout<<"\nShomare rous ra vared konid\n:";
cin>>v;
clrscr();
cout<<"\nSatre matris ra vared konid\n:";
for(i = 0; i <v; i++)
{
for(j = 0;j <v; j++)
{
ch = getche();
matrix[i][j] = ch - 48;
cout<<" ";
}
cout<<"\n";
}

for(i = 0; i <v; i++)


clrscr();
cout<<"\n\nMatris voroodi hast:";
for(i = 0; i <v;i++)
{
for(k = 0; k < ((82 - 3 *v) / 2); k++)
cout<<" ";
for(j = 0; j <v; j++)
cout<<matrix[i][j]<<" ";
cout<<"\n";
}
}