SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
به من که اجازه نمی دن مرحله سوم شرکت کنم

حالا ++g چی هست؟!
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
یک کامپایلر
یک کمی با Borland فرق داره. می تونید از وبلاگ من Dev را دانلود کنید و با آن برنامه بنویسید
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
سوال7=سوال 10
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
ببخشید ، زمان کار در سوال 9 مهمه؟
چون می خواهم یک الگوریتم عجیب و طولانی بنویسم!!
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
این هم کد من در ++Dev-C:
کد
#include <iostream.h>
#include <conio.h>
using namespace std;
using std::cout;  using std::cin;
    struct rabbit
    {
		 int x;
		 int y;
    };
bool sameline(rabbit r1,rabbit r2,rabbit r3)
{
	float r1r2=(float)(r1.x-r2.x)/(r1.y-r2.y);
	float r2r3=(float)(r3.x-r2.x)/(r3.y-r2.y);
	float r1r3=(float)(r1.x-r3.x)/(r1.y-r3.y);
	if((r1r2==r2r3)&&(r2r3==r1r3))
	{
	  return true;
	}
	else return false;
}//end of sameline


int main()
{
    enum {x,y};
    cout<<"\nPlease enter number of rabbits: ";
    int number=0;
    cin>>number;
    rabbit array[256];
    for(int i=0;i<number;i++)
    {
		  cout<<"\n\n\nPlease enter x_{"<<i+1<<"}:  ";
		  cin>>array[i].x;
		  cout<<"\nPlease enter y_{"<<i+1<<"}:  ";
		  cin>>array[i].y;	   
    }
    int max =0,thisone=0;
    for(int i=0;i<number;i++)
    {
		  for(int j=i+1;j<number;j++)
		  {
		    thisone = 2;
		    for(int n=0;n<number;n++)
		    {
				  if(sameline(array[i],array[j],array[n])&&(n!=j)&&(n!=i))
				  {
					 thisone++;
				  }//end of if
		    }//end of third for 
		    if(thisone>max) max=thisone;	
		  }//end of second for
    }//end of first for
    cout<<"\n Maximum number of rabbits to be killed is : "<<max;
    getch();    
    return 0;
}//end of main
برای این که از این کد در Borland استفاده کنید باید این دستور را اضافه کنید:
کد
#include <alloc.h>
و این قسمتها را حذف کنید:
کد
using namespace std;
using std::cout;  using std::cin;
فقط یک باگ داره ، اون هم وقتیه که دو تا نقطه y یکسان داشته باشند. ان شاء الله بعد از ناهار این باگ را برطرف خواهم کرد
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
[center:b3aaba9c09]

[/center:b3aaba9c09]این هم کد اصلاح شده ی من برای مسئله ی نهم در ++Dev-C که خیلی هم تفاوتی با کد قبلی نداره :
کد
#include <iostream.h>
#include <conio.h>
using namespace std;
using std::cout;  using std::cin;
    struct rabbit
    {
		 int x;
		 int y;
    };
bool sameline(rabbit r1,rabbit r2,rabbit r3)
{
	bool one=false,two=false,three=false;
	if((r1.y-r2.y)==0) one= true;
	if((r2.y-r3.y)==0) two= true;
	if((r1.y-r3.y)==0) three= true;
	if(one&&two&&three) return true;
	else
	{
	float r1r2=(float)(r1.x-r2.x)/(r1.y-r2.y);
	float r2r3=(float)(r3.x-r2.x)/(r3.y-r2.y);
	float r1r3=(float)(r1.x-r3.x)/(r1.y-r3.y);
	if((r1r2==r2r3)&&(r2r3==r1r3))
	{
	  return true;
	}
	else return false;
	}
}//end of sameline


int main()
{
    enum {x,y};
    cout<<"\nPlease enter number of rabbits: ";
    int number=0;
    cin>>number;
    if(number<1)
    {
	  cout<<"\nInvalid number of rabbits!!";
	  getch();
	  exit(0);
    }
    rabbit array[256];
    for(int i=0;i<number;i++)
    {
		  cout<<"\n\n\nPlease enter x_{"<<i+1<<"}:  ";
		  cin>>array[I].x;
		  cout<<"\nPlease enter y_{"<<i+1<<"}:  ";
		  cin>>array[I].y;	   
    }
    int max =1,thisone=0;
    for(int i=0;i<number;i++)
    {
		  for(int j=i+1;j<number;j++)
		  {
		    thisone = 2;
		    for(int n=0;n<number;n++)
		    {
				  if(sameline(array[I],array[j],array[n])&&(n!=j)&&(n!=i))
				  {
					 thisone++;
				  }//end of if
		    }//end of third for
		    if(thisone>max) max=thisone;	
		  }//end of second for
    }//end of first for
    cout<<"\n Maximum number of rabbits to be killed is : "<<max;
    getch();
    return 0;
}//end of main
برای استفاده از این کد در Borland مانند کد قبلی این را نیز ویرایش کنید
ضمنا فرض کردم که حداکثر 256تا خرگوش داریم![/I][/I][/I]
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
به SABB : حالا که کد کوتاه شما رو می خونم می بینم که همین باگ منو دارید!
من همیشه برنامه هام رو خیلی طولانی می نویسم ، چون همه ی حالات خاص رو در نظر می گیرم و سعی می کنم طوری بنویسم که هرکس برنامه را می خواند متوجه آن بشود.با این حال اگر شما اینطوری ناراحت می شوید ، می تونم کوتاهتر بنویسم.
ضمنا لطف کنید یه سری به وبلاگ آقا حسام بزنید و نظر منو بخونید
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
SABB گفت
این جواب اون سوال (آرایه ای از اعداد به طول n) که البته همه i ها توش با حروف کوچک هستند:
SABB گفت
[center:cae5722463]5
[/center:cae5722463]
کد
#include<iostream.h>
#include<conio.h>
#include<math.h>
main()
{
    const int N=256;
    int A[N],n,i,x;
    cout<<"enter n:";
    cin>>n;
    x=9*pow(10,n-1);
    A[0]=pow(10,n-1);
    for(i=1;i<x;i++)
	   A[I]=A[i-1]+1;
    for(i=0;i<x;i++)
	   cout<<A[I]<<endl;
    getch();
}
[/I][/I]
و این هم سوال 7 که حل نشده باقی مانده و نیازمند کمک های شما هستیم:
SABB گفت
من دیگه باید برم

[center:cae5722463]
برنامه ای بنویسید که عدد n را گرفته و مرحله ی n ام برفدانه کخ را رسم کند.
[/center:cae5722463]
در مورد سوال 5 منظور من اصلا این نبود و این هم خیلی محدوده ، اگر کاربر بخواهد آرایه ای به طول 32767 داشته باشد چی؟
برف دانه ی کخ چیه؟
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
[center:052e002d61]5
[/center:052e002d61]این هم تعریف آرایه با طول دلخواه کاربر:
کد
#include <iostream.h>
#include <stdio.h>
int main()
{
    int n=0;
    printf("Please enter n:");
    scanf("%d",&n);
    int *x=(int *)malloc(sizeof(int)*n);
    return 0;
}
توجه: تابع malloc در Borland در Header های معمولی وجود ندارد و باید از alloc.h استفاده کنید. در ++g می توانید از iostream.h استفاده کنید.
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Goharshady گفت
به SABB : حالا که کد کوتاه شما رو می خونم می بینم که همین باگ منو دارید!
من همیشه برنامه هام رو خیلی طولانی می نویسم ، چون همه ی حالات خاص رو در نظر می گیرم و سعی می کنم طوری بنویسم که هرکس برنامه را می خواند متوجه آن بشود.با این حال اگر شما اینطوری ناراحت می شوید ، می تونم کوتاهتر بنویسم.
ضمنا لطف کنید یه سری به وبلاگ آقا حسام بزنید و نظر منو بخونید
باگش چی هست؟!!
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
اگر بخواهید محیط یا مساحتشو حساب کنید ، من می تونم کمک کنم ولی رسم یک چنین غول بی شاخ و دمی نیازمند تسلط زیادی بر قسمتهای گرافیکی ++C هست که مطمئنا من چنین تسلطی ندارم. شما به نام المپیاد جهانی کامپیوتر دقت کرده اید؟ IOI یعنی International Olympiad in Informatics ، فکر می کنم این سوال مال IOG باشه ، یعنی International Olympiad in Graphics
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Goharshady گفت
SABB گفت
این جواب اون سوال (آرایه ای از اعداد به طول n) که البته همه i ها توش با حروف کوچک هستند:
SABB گفت
[center:53544991bc]5[/center:53544991bc]
کد
#include<iostream.h>
#include<conio.h>
#include<math.h>
main()
{
    const int N=256;
    int A[N],n,i,x;
    cout<<"enter n:";
    cin>>n;
    x=9*pow(10,n-1);
    A[0]=pow(10,n-1);
    for(i=1;i<x;i++)
	   A[I]=A[i-1]+1;
    for(i=0;i<x;i++)
	   cout<<A[I]<<endl;
    getch();
}
[/I][/I]
و این هم سوال 7 که حل نشده باقی مانده و نیازمند کمک های شما هستیم:
SABB گفت
من دیگه باید برم

[center:53544991bc]
برنامه ای بنویسید که عدد n را گرفته و مرحله ی n ام برفدانه کخ را رسم کند.
[/center:53544991bc]
در مورد سوال 5 منظور من اصلا این نبود و این هم خیلی محدوده ، اگر کاربر بخواهد آرایه ای به طول 32767 داشته باشد چی؟
برف دانه ی کخ چیه؟
من هم می دونستم منظورتون این نبود

ولی نمی دونستم منظورتون چی بود؟!
شما هم که نبودید و...
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
SABB گفت
Goharshady گفت
به SABB : حالا که کد کوتاه شما رو می خونم می بینم که همین باگ منو دارید!
من همیشه برنامه هام رو خیلی طولانی می نویسم ، چون همه ی حالات خاص رو در نظر می گیرم و سعی می کنم طوری بنویسم که هرکس برنامه را می خواند متوجه آن بشود.با این حال اگر شما اینطوری ناراحت می شوید ، می تونم کوتاهتر بنویسم.
ضمنا لطف کنید یه سری به وبلاگ آقا حسام بزنید و نظر منو بخونید
باگش چی هست؟!!
در نظر نگرفتن این نکته که نتیجه تقسیم بر 0 یک عدد نیست بلکه NaN است! وقتی مخرج کسرهاتون صفر بشه ، برنامه درست کار نمی کنه
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
Goharshady گفت
[center:66fda85d9b]5
[/center:66fda85d9b]این هم تعریف آرایه با طول دلخواه کاربر:
کد
#include <iostream.h>
#include <stdio.h>
int main()
{
    int n=0;
    printf("Please enter n:");
    scanf("%d",&n);
    int *x=(int *)malloc(sizeof(int)*n);
    return 0;
}
توجه: تابع malloc در Borland در Header های معمولی وجود ندارد و باید از alloc.h استفاده کنید. در ++g می توانید از iostream.h استفاده کنید.
قبلا مشابه این رو دیده بودید؟
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
ببخشید منظورتون از خنده تو وبلاگ چی بود؟
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Goharshady گفت
Goharshady گفت
[center:da995ad633]5
[/center:da995ad633]این هم تعریف آرایه با طول دلخواه کاربر:
کد
#include <iostream.h>
#include <stdio.h>
int main()
{
    int n=0;
    printf("Please enter n:");
    scanf("%d",&n);
    int *x=(int *)malloc(sizeof(int)*n);
    return 0;
}
توجه: تابع malloc در Borland در Header های معمولی وجود ندارد و باید از alloc.h استفاده کنید. در ++g می توانید از iostream.h استفاده کنید.
قبلا مشابه این رو دیده بودید؟
نه
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
malloc تابعی است که حافظه می گیرد. من نمی تونم خوب توضیح بدم. می تونید به کتاب برنامه نویسی به زبان C از آقای جعفرنژاد قمی مراجعه کنید. ببخشید
پی نوشت: به آقا حسام: وبلاگتو بچک
 
بالا