DELPHI -1
C++ -2
C# -3
BASIC -4
FORTRAN -5
VISUAL BASIC -6
کد های ++c
نوشته شده توسط مهدی امینی
برنامه روش حل دستگاه معادلات خطی به روش تکراری ژاکوبی وگاوس:(درخواستی ع .علیخوانی)
در خواست دوست عزیزم سعید مسئله شطرنج با الگوریتم ژنتیک سی پلاس پلاس
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
const int chessboardsize=8; //size of chessboard
enum{empty,queen,used}; //status
struct move //movement direction
{
int x;
int y;
};
struct chessboard //chessboard type
{
int size;
int square[chessboardsize][chessboardsize];
int usedsquares;
int noqueens;
};
void setqueenmovdi(move*whatmove,chessboard*board,move*curcoor);
void main(void)
{
move curcoor; // define digonal movements
move NE;
NE.x=1;
NE.y=1;
move NW;
NW.x=-1;
NW.y=1;
move SE;
SE.x=1;
SE.y=-1;
move SW;
SW.x=-1;
SW.y=-1;
chessboard board;
board.size=chessboardsize;
srand(time(0));
while(board.noqueens!=board.size)
{
board.usedsquares=0;
board.noqueens=0;
for(int i=0;i<board.size;i++)
for(int j=0;j<board.size;j++)
board.square[i][j]=0;
while(board.usedsquares<board.size*board.size)
{
curcoor.x=rand()%board.size;
curcoor.y=rand()%board.size;
if(board.square[curcoor.x][curcoor.y]==empty)
{
board.square[curcoor.x][curcoor.y]=queen;
++board.usedsquares;
++board.noqueens;
}
else
continue;
for(int horiz=0;horiz<board.size;horiz++)
if(board.square[horiz][curcoor.y]==empty)
{
board.square[horiz][curcoor.y]=used;
++board.usedsquares;
}
for(int verti=0;verti<board.size;verti++)
if(board.square[curcoor.x][verti]==empty)
{
board.square[curcoor.x][verti]=used;
++board.usedsquares;
}
board.square[curcoor.x][curcoor.y]=queen;
setqueenmovdi(&NE,&board,&curcoor);
setqueenmovdi(&NW,&board,&curcoor);
setqueenmovdi(&SE,&board,&curcoor);
setqueenmovdi(&SW,&board,&curcoor);
}
}
cout<<endl;
for(int i2=0;i2<board.size;i2++)
{
for(int j2=0;j2<board.size;j2++)
{
cout<<board.square[i2][j2];
printf(" ");
}
cout<<endl;
}
}
void setqueenmovdi(move*whatmove,chessboard*board,move*curcoor)
{
move next;
next.x=curcoor->x+whatmove->x;
next.y=curcoor->y+whatmove->y;
if(next.x<0||next.x>board->size-1||next.y<0||next.y>board->size-1)
return;
if(board->square[next.x][next.y]==empty)
{
board->square[next.x][next.y]=used;
++board->usedsquares;
}
setqueenmovdi(whatmove,board,&next);
return;
}
کد مرتب سازی سریع quicksort
لطفا هر کد دیگری را که می خواهید در قسمت نظرات برای ما نوشته تا حداکثر بعد از 24 ساعت کد را در این قسمت درج کنیم
بقیه در ادامه مطالب
جزوات درسی | مقطع |
استاد مدرس |
ریاضی عمومی 1 | کاردانی | استاد سخائی |
تاریخ تحلیلی صدر اسلام | کارشناسی | استاد جباری خامنه |
تحلیلی بر انقلاب اسلامی ایران | کارشناسی | استاد جباری خامنه |
تفسیر موضوعی قرآن | کارشناسی | استاد حاج آقا صفوی |
آمار و احتمالات | کارشناسی | استاد خانم نجف زاده |