Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Монгол Хэрэглэгчидэд Зориулсан Программчлал, Программ хангамжууд...
Монгол бичгээр бичдэг Notepad
Латинаар галиглаад бичингүүт шууд криллрүү хөрвүүлдэг гарын драйвер

Зохицуулагчид: Computer software, Computer Hardware

Хэрэглэгчийн аватар
Дэлгэр
Хавар Цагийн Анхны Яргуй
Бичлэгүүд: 2915
Нэгдсэн: 11-р сар.11.09 5:21 pm
Байршил: Мянган бээрийн аялал ганц алхмаас эхэлдэг.

Re: C хэл дээр туслаач

Бичлэг Бичсэн Дэлгэр »

Codeblocks эсвэл Борланд Си дээр энийг яаж compile хийх вэ?
compile хийхээр баахан алдаа заагаад байх юм
Эсвэл Виндөүс дээр болохгүй байгаа юм болов уу :??:

Tetris Game in C

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>

void swap(int a,int b);void bar1();void bar2();
void bar3(); void bar4(); check0(); check1();
check2(); void del(); void rod1(); void rod2();
void box1();void box2();void tee1();voidtee2();
void tee3();void tee4();check3();void insert();
void again();void print();void remove();void frame();
int score=0,spd,q,t,a=0,i,j,l[6]={300,90,315,105,301,91},p,turn,m,n;
char play='y';
static int arr[26][13];
void main(void)
{

char ch,y;
int gd= DETECT,gm,area,maxx,maxy,move,lmove,rmove;
void *buff;
initgraph(&gd,&gm,"d:\tc\bgi");
do{

turn=1;
score=0;
do{
clrscr();
cleardevice();
printf("
Enter Your Choice

");
printf(" Basic Level.......... 1
");
printf(" Middle Level......... 2
");
printf(" Advanced Level....... 3
");
printf(" Experts Level........ 4
");
printf(" Professional Level... 5
");
y=getch();
clrscr();
cleardevice();
if(y=='1') {spd=200; settextstyle(2,0,6);outtextxy(2,150," Basic
Level ");break;}
if(y=='2') {spd=150; settextstyle(2,0,6);outtextxy(2,150," Middle
Level ");break;}
if(y=='3') {spd=100; settextstyle(2,0,6);outtextxy(2,150," Advanced
Level ");break;}
if(y=='4') {spd=75; settextstyle(2,0,6);outtextxy(2,150," Experts
Level ");break;}
if(y=='5') {spd=50; settextstyle(2,0,6);outtextxy(2,150,"Professional
Level ");break;}
}while(1);

frame();
getch();
int k,ar[2],pr[2],t[6];

randomize();
ar[0]=random(2);
pr[0]=random(6);
ar[1]=random(2);
pr[1]=random(6);
while(1)
{
printf(" score= %d
",score);
a=ar[0];
p=pr[0];
l[0]=450;l[1]=250;l[2]=465;l[3]=265;l[4]=451;l[5]=251;

if(y=='1') spd=100;
if(y=='2') spd=75;
if(y=='3') spd=50;
if(y=='4') spd=30;
if(y=='5') spd=20;
print();

delay(500);
a=ar[1];
p=pr[1];

t[0]=l[0]; t[1]=l[1]; t[2]=l[2];
t[3]=l[3]; t[4]=l[4]; t[5]=l[5];

a=ar[1];
p=pr[1];

l[0]=270;l[1]=90;l[2]=285;l[3]=105;l[4]=271;l[5]=91;

do{
k=0;
if(kbhit()){ ch=getch();
if(ch==0) ch=getch();
if(ch==77) {move=check1(); if(move==0) {l[0]+=15;l[2]+=15;l[4]+=15;
k=1;}}
if(ch==75) {move=check2(); if(move==0) {l[0]-=15;l[2]-=15;l[4]-=15;
k=1;}}
if(ch==80) spd=10;
if(ch==27) exit(0);

if(ch==32){
k=1;
if(p==4||p==5) switch(p)
{
case 4: if(a==0) a++; else p++; break;
case 5: if(a==1) a--; else p--;
}
if(p==1||p==2) switch(p)
{ case 1: if(a==0) a++; else p++;
l[0]=270;l[2]=285;l[4]=271;break;
case 2: if(a==1) a--; else p--; l[0]=270;l[2]=285;l[4]=271;
}

if(p==3) { if(a==0) a++; else a=0;
l[0]=270;l[2]=285;l[4]=271; }

}
if(a==1) {swap(l[0],l[1]);swap(l[2],l[3]);swap(l[4],l[5]);}
}



move=check0();
if(move==1) break;

print();

if(k==1) delay(0); else delay(spd);

remove();

if(k==0) {l[1]+=15; l[3]+=15; l[5]+=15;}


}while(1);
print();
fflush(stdin);


insert();

check3();

a=ar[0];
p=pr[0];


l[0]=t[0];l[1]=t[1];l[2]=t[2];l[3]=t[3];
l[4]=t[4];l[5]=t[5];


remove();


ar[1]=ar[0];
pr[1]=pr[0];


ar[0]=random(2);
pr[0]=random(6);

if(pr[0]==2) pr[0]=3;
if(turn==0) break;


}


}while(play=='y');

}


void swap(int a,int b)
{
a=a+b;
b=a-b;
a=a-b;
}


void bar1()
{ if(a==0&&i<1) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==0&&i>=1){l[1]+=15;l[3]+=15;l[5]+=15; }

// if(a==1&&i==1)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==1&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==1&&i>0) {l[0]-=15;l[2]-=15;l[4]-=15; }

if(a==2&&i>=2) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==2&&i<2) {l[1]+=15;l[3]+=15;l[5]+=15; }
}




void bar2()
{ if(a==0&&i>=3){l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i<3) {l[1]-=15;l[3]-=15;l[5]-=15; }

if(a==1&&i<3) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==1&&i==3){l[1]-=15;l[3]-=15;l[5]-=15; }

if(a==2&&i<2) {l[0]+=15;l[2]+=15;l[4]+=15;}
if(a==2&&i>=2){l[1]-=15;l[3]-=15;l[5]-=15; }
}
void bar3()
{if(a==0&&i>=3){l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==0&&i<3){l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==2&&i<2) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==2&&i>=2) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==1&&i>=1) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==1&&i<1) {l[1]+=15;l[3]+=15;l[5]+=15; }
}
void bar4()
{if(a==0&&i<1){l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i>=1) {l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==2&&i>=2) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==2&&i<2){l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==1&&i<3) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==1&&i==3) {l[1]-=15;l[3]-=15;l[5]-=15; }
}
void rod1()

{

if(a==0) {l[0]+=15;l[2]+=15;l[4]+=15; }
else {l[1]+=15;l[3]+=15;l[5]+=15; }
}
void rod2()
{

if(a==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
else {l[1]-=15;l[3]-=15;l[5]-=15; }

}
void box1()
{if(i<1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(i==1) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(i==2) {l[0]+=15;l[2]+=15;l[4]+=15; }
}
void box2()
{if(i<1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(i==1) {l[1]-=15;l[3]-=15;l[5]-=15; }
if(i==2) {l[0]+=15;l[2]+=15;l[4]+=15; }
}
void tee1()
{
if(a==0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i<1) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==0&&(i==2||i==3)) {l[0]+=15;l[2]+=15;l[4]+=15; }


if(a>0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&(i==1)) {l[0]+=15;l[2]+=15;l[4]+=15; }

}
void tee2()
{
if(a==0&&i==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]-=15;l[3]-=15;l[5]-=15; }

if(a>0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a>0&&i==1) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a>0&&i==0) {l[1]-=15;l[3]-=15;l[5]-=15; }


}
void tee3()
{ if(a==0&&i==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==0&&i==1) {l[1]+=15;l[3]+=15;l[5]+=15;}


if(a>0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&(i==1)) {l[0]-=15;l[2]-=15;l[4]-=15; }
}
void tee4()
{ if(a==0&&i==1) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==0&&i==0) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==0&&i==2)
{l[1]-=15;l[3]-=15;l[5]-=15;l[0]+=15;l[2]+=15;l[4]+=15; }

if(a>0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a>0&&i==0) {l[1]-=15;l[3]-=15;l[5]-=15; }
if(a>0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }

}

check0()
{ int x,y,s,d=5;

x=(l[0]-180)/15;
y=(l[1]-90)/15;
if(a==0){
switch (p)
{ case 0: y+=2;d=2; if(arr[y][x-1]==1) return(1); else break;
case 1: y+=4;x++;d=1;if(arr[y-3][x-1]==1) return(1); else break;
case 2: y=y+4;d=2;x+=1;break;
case 3: y=y+1;d=5;x+=4;break;
case 4: y+=2;d=3;x++;break;
case 5: y+=1;d=3;if(arr[y+1][x-1]==1) return(1); else break;
}
for(s=1;s<d;s++,x--)
if(arr[y][x]==1) return(1);
if((arr[y][x])==0) return(0); else return(1);
}

if(a==1){
switch (p)
{ case 0: y+=2;d=2; if(arr[y][x-1]==1) return(1); else break;
case 1: y=y+2;d=4;if(arr[y][x]==1) return(1); else break;
case 2: y=y+2;d=4;x+=3;if(arr[y][x-3]==1) return(1); else break;
case 3: y=y+5;d=0;break;
case 4: y+=3;d=0;if(arr[y-1][x+1]==1) return(1); else break;
case 5: y+=3;d=0;if(arr[y-1][x-1]==1) return(1); else break;
}
for(s=1;s<d;s++,x--)
if(arr[y][x]==1) break;
if((arr[y][x])==0) return(0); else return(1);
}


return(0);
}


check1()
{ int x,y,s,d=5;

x=(l[0]-150)/15;
y=(l[1]-90)/15;

if(a==0){
switch (p)
{ case 0: x=x-1;y++;d=2;break;
case 1: x=x;d=3; y=y+3; break;
case 2: x=x;d=4;y+=3; break;
case 3: x=x+3;d=0;break;
case 4: x=x;break;
case 5: x=x-1;d=0;

}
for(s=0;s<d;s++,y--)
if(arr[y][x]==1) break;
if((arr[y][x])==0) return(0); else return(2);
}


if(a==1)
{ switch(p)
{ case 0: x=x; break;
case 1: x=x;d=1;break;
case 2: x=x+3; break;
case 3: x=x;y+=5;d=4;break;
case 4: x=x+1;break;
case 5: x=x;y+=2;d=2;
}

for(s=0;s<d;s++,y--)
if(arr[y][x-1]==1) break;
if((arr[y][x-1])==0) return(0); else return(2);
}
return(0);
}


check2()
{
int x,y,s,d=5;
x=(l[0]-150)/15;
y=(l[1]-90)/15;
if(a==0){
switch (p)
{ case 0: x=x-1;d=1;break;
case 1: x=x;d=3;break;
case 2: x=x;d=3;break;
case 3: x=x;d=0;break;
case 4: x=x-1;d=1;break;
case 5: x=x-2;d=0;
}
for(s=0;s<d;s++,y++)
if(arr[y][x-3]==1) break;
if((arr[y][x-3])==0) return(0); else return(2);
}

if(a==1){


switch (p)
{ case 0: x=x-4;d=2;break;
case 1: x=x-6;d=0;break;
case 2: x=x-3;d=2;y-=1;break;
case 3: x=x-3;d=5;break;
case 4: x-=3; d=3;break;
case 5: x-=4; d=4;
}
for(s=1;s<d;s++,y++)
if(arr[y][x]==1) break;
if((arr[y][x])==0) return(0); else return(2);
}
return(0);
}

check3()
{

for(t=1;t<25;t++)

for(q=1;q<12;)
if(arr[t][q]==1) { q++; if(q==12) {score+=100;del();}} else break;

return(0);
}


void insert()
{ int x,y;
for(i=0;i<5;i++){
x=(l[0]-180)/15;
y=(l[1]-90)/15;
arr[y][x]=1;
switch(p)
{
case 0: box2();break;
case 1: bar2();break;
case 2: bar4();break;
case 3: rod2();break;
case 4: tee2();break;
case 5: tee4();
}
}

if(arr[0][5]==1||arr[0][6]==1)
{
settextstyle(3,0,4);
outtextxy(180,100," GAME OVER ");
fflush(stdin);
getch();
turn=0;
again();
}

}

void print()
{
for(i=0;i<5;i++){
setcolor(WHITE);
setfillstyle(SOLID_FILL,6);
rectangle(l[0]+1,l[1]+1,l[2]-1,l[3]-1);
floodfill(l[4]+1,l[5]+1,WHITE);
if(i<4) switch (p)
{ case 0 : box1();break;
case 1 : bar1();break;
case 2 : bar3();break;
case 3 : rod1();break;
case 4 : tee1();break;
case 5 : tee3();
}
}

}

void remove()
{
for(i=0;i<5;i++){
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
rectangle(l[0]+1,l[1]+1,l[2]-1,l[3]-1);
floodfill(l[4]+1,l[5]+1,BLACK);
if(i<4) switch (p)
{ case 0 : box2();break;
case 1 : bar2();break;
case 2 : bar4();break;
case 3 : rod2();break;
case 4 : tee2();break;
case 5 : tee4();
}
}

}

void del()
{ int m,n;
for(;t>0;t--)
for(q=1;q<12;q++)
arr[t][q]=arr[t-1][q];


for(n=0;n<25;n++)
//delay(50);
for(m=1;m<12;m++){

if(arr[n][m]==1) { setcolor(WHITE);
setfillstyle(SOLID_FILL,6);
rectangle((m*15)+181,(n*15)+91,(m*15)+194,(n*15)+104);
floodfill((m*15)+182,(n*15)+92,WHITE);
}


else { setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
rectangle((m*15)+181,(n*15)+91,(m*15)+194,(n*15)+104);
floodfill((m*15)+182,(n*15)+92,BLACK);
}


}
}



void frame()
{ setcolor(WHITE);
setfillstyle(SOLID_FILL,8);

settextstyle(7,0,6);
outtextxy(140,3," TETTRIS ");
setcolor(WHITE);
settextstyle(2,0,7);
outtextxy(400,440,"Press 'Esc' To Exit");
settextstyle(2,0,5);
outtextxy(5,285," PRESS ");
outtextxy(5,300,"Space To Change Shape");
outtextxy(5,315,"Use Arrow Keys To Move");



rectangle(180,465,375,480);
floodfill(181,466,WHITE);

rectangle(180,90,194,480);
floodfill(181,95,WHITE);

rectangle(361,90,375,480);
floodfill(362,95,WHITE);


setcolor(WHITE);
settextstyle(7,0,1);
outtextxy(400,200," Next To Come ");
setfillstyle(SOLID_FILL,0);
rectangle(400,230,530,335);
floodfill(401,231,WHITE);



for(m=0;m<26;m++)
for(n=0;n<13;n++)
arr[m][n]=0;

for(m=0,n=0;n<26;n++)
arr[n][m]=1;

for(n=12,m=0;m<26;m++)
arr[m][n]=1;

for(m=25,n=0;n<13;n++)
arr[m][n]=1;

}
void again()
{
cleardevice();
setcolor(WHITE);
setfillstyle(SOLID_FILL,BLACK);
rectangle(150,175,530,335);
floodfill(159,179,BLACK);


setcolor(WHITE);
settextstyle(7,0,1);
outtextxy(175,200," Enter Your Choice ");
outtextxy(175,220," Press 'Y' To Play Again ");
outtextxy(175,240," Press Any Key To Exit ");

play=getch();
if(play=='y') cleardevice();
else exit(0);

}
Нэг л өдрийн наран...
Хэрэглэгчийн аватар
Нимбус
• Moderator
<b><font color=#000099>• Moderator</font></b>
Бичлэгүүд: 1870
Нэгдсэн: 7-р сар.26.07 6:22 pm
Байршил: The quiet one :(

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Нимбус »

Za yostoi yu ch oilgosongui. Dongoj uzej ehelj bgaa bolohoor iim yum oilgohod hetsuu bn aa. Blog sxemeer ni zuraad zuragiig ni share hiichih bolomj bn u?
Хэрэглэгчийн аватар
altson
Мандах Нарны Туяа Гишvvн
Мандах Нарны Туяа Гишvvн
Бичлэгүүд: 257
Нэгдсэн: 8-р сар.03.06 6:18 pm

Re: C хэл дээр туслаач

Бичлэг Бичсэн altson »

D дээр чинь tc\bgi гэсэн фолдер байгаамуу? аягүй бол C дээр байгаа даа... --> C:\\tc\\bgi гэж бичих байх шүү
Хэрэглэгчийн аватар
Miigaa_10
Сэвэлзэх Салхины Сэрчигнээн
Сэвэлзэх Салхины Сэрчигнээн
Бичлэгүүд: 241
Нэгдсэн: 9-р сар.17.09 11:54 am

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Miigaa_10 »

Би анхнаасаа блок схем зурж сураагүй болохоор чаддаггүймөө.
1.A1 A2 A3.....An тоонуудын зөвхөн 2-т хуваагддаг тоонуудын хийлбэр ол.

Энэ бодлогыг бодохын тулд эхлээд гараас хэдэн тоо оруулахаа n-р оруулж байгаан.
Input: int n, a[n]; *******- Дараа нь int төрөлтэй n хэмжээтэй массив гараас оруулна
int i, niilber=0; *******int i тоо нь for давталтанд гүйлгэх тоолуур, niilber гэдэг нь хоёрт хуваагддаг тоонуудын нийлбэрийг хадгалах хувьсагч
for(i=0;i<n;i++){ *******for давталтаар гараас оруулсан a[] массивын эхний буюу 0-дэх элементээс сүүлийн n элемент хүртэл гүйнэ.
*******Ямар нэг тоог 2-т хуваахад үлдэгдэл нь 0-тэй тэнцэж байвал тэгш тоо болно гэсэн үг.
if(a%2==0){ *******тухайн массивын i дүгээр элементийг тэгш эсэхийг шалгаж байна.
niilber=niilber + a; ******** Хэрвээ тухайн a элемент тэгш тоо байвал Нийт тэгш тоо хадгалах niilber хувьсагч дээр нэмнэ.
}
} for давталт нийт массивын бүх элементээр гүйж дуусахад нийт тэгш тоонуудын нийлбэр niilber хувьсагчид хадгалагдсан байна.
Output: niilber; ********* Эцэст нь niilber хувьсагчаа дэлгэцэнд хэвлэнэ.
...ing
Хэрэглэгчийн аватар
Miigaa_10
Сэвэлзэх Салхины Сэрчигнээн
Сэвэлзэх Салхины Сэрчигнээн
Бичлэгүүд: 241
Нэгдсэн: 9-р сар.17.09 11:54 am

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Miigaa_10 »

2. Цифрүүдийн нийлбэр нь өгөгдсөн М тоотой тэнцүү байх бүх 3 оронтой тоог хэвлэнэ үү!

Эхлээд тооны цифрүүдийн нийлбэрийг яаж олох тухай ярилцъя.
бидэнд n=159 гэсэн тоо өгөгджээ гэж бодъё. хар ухаанаао тооны цифрүүдийн нийлбэрийг 1+5+9=15 гээд л олчихдог бол компьютерт энэ нь арай өөр аргаар бодогдно. Бид өгөгдсөн тооныхоо цифрүүдийн нийлбэр олдог хувьсагчаа niillber=0 гэж нэрлэе.
эхлээд niilber = 0 байх үед n = 159 байна. Дараа нь n=159-г 10-т хуваагаад гарсан үлдэгдэлийг нь niilber дээрээ нэмээд 159-г 10т хувааж бүхэл хэсгийг нь n-дээ хадгалахад niilber = 9 болж n=15 болно. дээрх үйлдлийг дахин хийхэд niilber = 14, n=1 болно. дээрх үйлдлийг дахин хийхэд n-н утга 0 болж niilber хувьсагчид өгөгдсөн тооны цифрүүдийн нийлбэр хадгалагдна. Гараас оруулсан n тооны цифрүүдийн нийлбэр олох псевдо кодыг доор орууллаа.
Input: n = 159;
int niilber;
while(n>0){ //Энэ давталт нь n-н утга 0 болтол үргэлжлэнэ
int a;****Энэ хувьсагчаар тооны нэгж хэсгийг авна.
a=n%10;
n=n/10;
niilber = niilber + a;
}
Output: niilber;

ОДОО ҮНДСЭН БОДЛОГОНДОО ОРЪЁ.
Цифрүүдийн нийлбэр нь өгөгдсөн М тоотой тэнцүү 3 оронтой гэхээр 100-999 хүртлэх тоонуудыг шалгана гэсэн үг.

Input: int M; //Эхлээд гараас өгөдсөн М тоог оруулна
int i=100, n=999; // int i болон n нь 3 оронтой тооны дээд болон доод хязгаарууд юм.
for(i=100;i<n;i++){ //for давталт нь 100-999 хүртлэх бүх тоонд давтна.
int s=0; // S хувьсагчид тухайн 3 оронтой тооны цифрүүдийн нийлбэрийг хадгална
while(i<0)
{
int a=i%10;
s=s+a;
i=i/10;
} //while давталт дуусахад s-д 3 оронтой i тооны цифрүүдийн нийлбэр хадгалагдна.
if(s==M){ Хэрвээ s нь өгөгдсөн М тоотой тэнцүү байвал тухайн i тоог дэлгэцэнд хэвлэнэ.
Output: i;
}
}


3 ДАХЬ БОДЛОГЫГ 2-Р БОДЛОГО ДЭЭР ЯАЖ БОДОХ ТАЛААР ТАЙЛБАРЛАСАН.
...ing
Хэрэглэгчийн аватар
dobbi
Хvндэт Гишvvн
Хvндэт Гишvvн
Бичлэгүүд: 167
Нэгдсэн: 1-р сар.05.03 8:07 pm
Байршил: Энд
Contact:

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн dobbi »

Odoo yag hereg boloh sedev baina shd...
бидэнд n=159 гэсэн тоо өгөгджээ гэж бодъё. хар ухаанаао тооны цифрүүдийн нийлбэрийг 1+5+9=15 гээд л олчихдог бол компьютерт энэ нь арай өөр аргаар бодогдно. Бид өгөгдсөн тооныхоо цифрүүдийн нийлбэр олдог хувьсагчаа niillber=0 гэж нэрлэе.
эхлээд niilber = 0 байх үед n = 159 байна. Дараа нь n=159-г 10-т хуваагаад гарсан үлдэгдэлийг нь niilber дээрээ нэмээд 159-г 10т хувааж бүхэл хэсгийг нь n-дээ хадгалахад niilber = 9 болж n=15 болно. дээрх үйлдлийг дахин хийхэд niilber = 14, n=1 болно. дээрх үйлдлийг дахин хийхэд n-н утга 0 болж niilber хувьсагчид өгөгдсөн тооны цифрүүдийн нийлбэр хадгалагдна. Гараас оруулсан n тооны цифрүүдийн нийлбэр олох псевдо кодыг доор орууллаа.
Ene hesgii ni sain oilgodgui eee
I believe I can fly
Хэрэглэгчийн аватар
Miigaa_10
Сэвэлзэх Салхины Сэрчигнээн
Сэвэлзэх Салхины Сэрчигнээн
Бичлэгүүд: 241
Нэгдсэн: 9-р сар.17.09 11:54 am

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Miigaa_10 »

Ерөнхийдөө цифрүүдийн нийлбэр олно гэдэг нь тухайн өгөгдсөн тоог 0 болтол нь 10-т хуваагаад гарсан үлдэгдлүүдийг нь л нэмээд байна гэсэн санаа. Дээр дурьдсан niilber гэдэг хувьсагчийн үүрэг нь тоог 10-т хуваагаад гарсан үлдэгдлүүдийн нийлбэрийг хадгалах юм.

Програмчлалын хэлэнд ямар нэг тоог өөр нэг тоонд хуваагаад гарсан үлдэгдлийг нь олох үйлдэл дараах байдлаар хэрэглэгднэ. 159%10=ҮЛДЭГДЭЛ.
...ing
Хэрэглэгчийн аватар
Дэлгэр
Хавар Цагийн Анхны Яргуй
Бичлэгүүд: 2915
Нэгдсэн: 11-р сар.11.09 5:21 pm
Байршил: Мянган бээрийн аялал ганц алхмаас эхэлдэг.

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Дэлгэр »

Си хэлэнд ceil(), ceill() нь ямар ялгаатай байдаг билээ?
Бас pow(), powl(), pow10(), pow10l(), нарын ялгаа юу вэ? :hi:
Нэг л өдрийн наран...
Хэрэглэгчийн аватар
Нимбус
• Moderator
<b><font color=#000099>• Moderator</font></b>
Бичлэгүүд: 1870
Нэгдсэн: 7-р сар.26.07 6:22 pm
Байршил: The quiet one :(

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Нимбус »

Өгөгдсөн 2 хугацааны зөрүүг олон өдөрт шилжүүлэн хэвлэ.
Хэрэглэгчийн аватар
Reptile
Эрхэм Гишvvн
Эрхэм Гишvvн
Бичлэгүүд: 38
Нэгдсэн: 8-р сар.03.10 4:28 pm
Байршил: Cyber ертөнц-> Mortal combat

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Reptile »

Anhnii toog yaj oldoh yum be?
Reptile is number one
Хэрэглэгчийн аватар
Miigaa_10
Сэвэлзэх Салхины Сэрчигнээн
Сэвэлзэх Салхины Сэрчигнээн
Бичлэгүүд: 241
Нэгдсэн: 9-р сар.17.09 11:54 am

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Miigaa_10 »

Pennydeegii написал:Си хэлэнд ceil(), ceill() нь ямар ялгаатай байдаг билээ?
Бас pow(), powl(), pow10(), pow10l(), нарын ялгаа юу вэ? :hi:
ceil() функц нь ямар нэг бутархай тооноос их хамгийн бага бүхэл тоог олдог функц юм шиг байшд. ceil() нь double төрөлтэй бол ceill() нь long double төрөлтэй. Тооны том багаараа л ялгаатай байгаа байх. Том тоонд ceill()-г хэрэглэдэг ч юмуу тэ. Нэг их сайн мэдэхгүй байна өө. pow(), powl() ч гэсэн нэг тиймэрхүү л байгаа болов уу.
...ing
Хэрэглэгчийн аватар
Miigaa_10
Сэвэлзэх Салхины Сэрчигнээн
Сэвэлзэх Салхины Сэрчигнээн
Бичлэгүүд: 241
Нэгдсэн: 9-р сар.17.09 11:54 am

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Miigaa_10 »

Reptile написал:Anhnii toog yaj oldoh yum be?
Тоолуурдаад олчиж болно.
Гэхдээ бодлогоныхоо өгүүлбэрийг бүтэн оруулахгүй бол яг ямар анхны тоо олох нь тодорхойгүй байна.

Зүгээр өгөгдсөн тоог анхны тоо эсэхийг шалгахын тулд Жишээ нь:
N тоо өгөгдлөө гэж бодоход 1-c N/2 хүртэл тоонуудад хувааж үзээд үлдэгдэл нь тэгтэй тэнцүү байх ганц л хуваагчтай байвал тэр тоог анхны тоо гэж үзнэ. Үлдэгдэл нь тэгтэй тэнцүү 1-ээс олон хуваагчтай байвал тэр тоо зохиомол тоо гэсэн үг.
...ing
Хэрэглэгчийн аватар
Miigaa_10
Сэвэлзэх Салхины Сэрчигнээн
Сэвэлзэх Салхины Сэрчигнээн
Бичлэгүүд: 241
Нэгдсэн: 9-р сар.17.09 11:54 am

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Miigaa_10 »

Нимбус написал:Өгөгдсөн 2 хугацааны зөрүүг олон өдөрт шилжүүлэн хэвлэ.
Бодлогоныхоо өгөгдлийг бүрэн оруулахгүй бол ойлгомжгүй байна.

Өгөгдсөн 2 хугацааны зөрүүг олон өдөрт шилжүүлэн хэвлэ. гэхлээр өгөгдсөн 2 хугацааны зөрүүг ОЛОН ӨДӨР-т шилжүүлэх юм уу? Эсвэл Өгөгдсөн 2 хугацааны зөрүүг олж, өдөрт шилжүүлж хэвлэхиймүү?

Хугацаа нь ямар байдалтай өгөгдөх юм бол доо.
...ing
Хэрэглэгчийн аватар
Шаазгай
Дvрэлзэх Дөл Гишvvн
Бичлэгүүд: 1684
Нэгдсэн: 6-р сар.15.10 8:56 pm
Байршил: Холын хоооллл

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Шаазгай »

#include <stdio.h>
main () {
double r1,r2,r3, rq;
scanf("%lf%lf%lf", &r1, &r2, &r3);
rq=r1*r2*r3/(r1+r2+r3);
printf("%1lf", rq);
return 0;
}


Таслалын ард нэг оронтойгоор хэвлэх гэхээр болохгүй байх юм.
Таслалын ард 6 орон гараад байна. Яагаад ингэж байгаа юм бол?
Зовлого зовохоос
Зориг мохохгүй
Хэрэглэгчийн аватар
Miigaa_10
Сэвэлзэх Салхины Сэрчигнээн
Сэвэлзэх Салхины Сэрчигнээн
Бичлэгүүд: 241
Нэгдсэн: 9-р сар.17.09 11:54 am

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Miigaa_10 »

Шаазгай написал:#include <stdio.h>
main () {
double r1,r2,r3, rq;
scanf("%lf%lf%lf", &r1, &r2, &r3);
rq=r1*r2*r3/(r1+r2+r3);
printf("%1lf", rq);
return 0;
}


Таслалын ард нэг оронтойгоор хэвлэх гэхээр болохгүй байх юм.
Таслалын ард 6 орон гараад байна. Яагаад ингэж байгаа юм бол?
Бутархай тооны нарийвчлалыг тодорхойлохын тулд %.ТООf эсвэл %.ТООg, %.ТООG буюу чиний тохиолдолд 1 оронтой хэвлэх бол %.1lf гэж хэвшүүлнэ. Өөрөөр хэлбэл тооны өмнөх цэгээ мартчиж.

#include <stdio.h>
main () {
double r1,r2,r3, rq;
scanf("%lf%lf%lf", &r1, &r2, &r3);
rq=r1*r2*r3/(r1+r2+r3);
printf("%.1lf", rq);
return 0;
}
...ing
Хэрэглэгчийн аватар
Шаазгай
Дvрэлзэх Дөл Гишvvн
Бичлэгүүд: 1684
Нэгдсэн: 6-р сар.15.10 8:56 pm
Байршил: Холын хоооллл

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Шаазгай »

Өө тийм байх аа
Нэг л болж өгөхгүй байсан юм
Баярлалаа :hi:
Зовлого зовохоос
Зориг мохохгүй
Хэрэглэгчийн аватар
Mendacity
Нутаг Нугын Шvтээн Гишvvн
Нутаг Нугын Шvтээн Гишvvн
Бичлэгүүд: 775
Нэгдсэн: 8-р сар.08.06 1:17 pm
Байршил: i'm studying in order to become rich which would make her wish come true
Contact:

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Mendacity »

Reptile написал:Anhnii toog yaj oldoh yum be?
2 ба түүнээс дээш хуваагдагчтай бол тэр анхны тоо биш гэсэн үг....
Тээл тоолуурдышдээ
Хэрэглэгчийн аватар
~NG~
Сvнгэнэх Сумны Шуугинах Исгэрээн
Сvнгэнэх Сумны Шуугинах Исгэрээн
Бичлэгүүд: 52
Нэгдсэн: 10-р сар.08.10 2:59 pm

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн ~NG~ »

1. Char, int, float, long, long double, short int төрөл тус бүрийн хувьсагчид анхны утга зарлаж %d%i%s%o%u%x%X%f%e%%%p %hd%hi..%Le гэх мэт хөрвүүлэлтийн тусгай тэмдэгтүүд ашиглаж төрөл тус бүрийн хувьсагч болон тогтмолуудыг хэвлэх програм бич.
2. n натурал тоо өгөгдөв.
а) n тоо хэдэн цифртэй вэ?
б) Цифрүүдийнх нь нийлбэрийг ол.
в) n тооны эхний цифрийг ол.
3. Хэрэв натурал тоо сондгой бол 1*3*5…*n үржвэрийг, харин тэгш байвал 2*4*6…*n үржвэрийг n!! гэж тэмдэглэе. Өгөгдсөн натурал тооны хувьд ((-1)n (n+1)*n!! илэрхийллийг n=5,9,-55,0 утгуудад үр дүнг хэвлэдэг програм зохио. Давтах үйлдэл ашигла. (^ зэрэг дэвшүүлэх үйлдэл)



энийг бодооод өгөөч тэхүү
Хэрэглэгчийн аватар
dobbi
Хvндэт Гишvvн
Хvндэт Гишvvн
Бичлэгүүд: 167
Нэгдсэн: 1-р сар.05.03 8:07 pm
Байршил: Энд
Contact:

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн dobbi »

Polimdrom gej yu yum be? Yaj oldiin?
I believe I can fly
Хэрэглэгчийн аватар
Дэлгэр
Хавар Цагийн Анхны Яргуй
Бичлэгүүд: 2915
Нэгдсэн: 11-р сар.11.09 5:21 pm
Байршил: Мянган бээрийн аялал ганц алхмаас эхэлдэг.

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Дэлгэр »

131
12321
45654
гэх мэт "урвуу" тоонуудыг хэлдэг байх аа
Нэг л өдрийн наран...
Хэрэглэгчийн аватар
Хуягаа
• Moderator
<b><font color=#000099>• Moderator</font></b>
Бичлэгүүд: 732
Нэгдсэн: 9-р сар.03.08 2:05 pm
Байршил: ●•٠·˙˙
Contact:

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Хуягаа »

Зөв.
Be Strong ●•٠·˙˙
Хэрэглэгчийн аватар
~NG~
Сvнгэнэх Сумны Шуугинах Исгэрээн
Сvнгэнэх Сумны Шуугинах Исгэрээн
Бичлэгүүд: 52
Нэгдсэн: 10-р сар.08.10 2:59 pm

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн ~NG~ »

массивтай бодлого бодоод өгөх хүн байгаа болов уу ?? ;;)
Хэрэглэгчийн аватар
Шаазгай
Дvрэлзэх Дөл Гишvvн
Бичлэгүүд: 1684
Нэгдсэн: 6-р сар.15.10 8:56 pm
Байршил: Холын хоооллл

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Шаазгай »

1.N тооны цифрүүдийн нийлбэрийг ол.
2.n натурал тоо бол n!! тэмдэглэгээ сондгой n - ийн хувьд 1∙3∙5∙…∙n тэгш n - ийн хувьд 2∙4∙…∙n үржвэрийг илэрхийлнэ. n натурал тоо өгөгдсөн бол n!!-ийн утгыг ол.

Энэ хоёр бодлогыг бодож өгч туслаач :-D
Зовлого зовохоос
Зориг мохохгүй
Хэрэглэгчийн аватар
Шаазгай
Дvрэлзэх Дөл Гишvvн
Бичлэгүүд: 1684
Нэгдсэн: 6-р сар.15.10 8:56 pm
Байршил: Холын хоооллл

Re: C хэл дээр туслаач

Бичлэг Бичсэн Шаазгай »

.
Сүүлийн удаа Шаазгай 11-р сар.10.11 11:33 am-д засварласан, нийт 1 удаа засварласан.
Зовлого зовохоос
Зориг мохохгүй
Mx.
Гавшгай Гишvvн
Гавшгай Гишvvн
Бичлэгүүд: 136
Нэгдсэн: 7-р сар.22.09 9:05 pm
Байршил: chinii zurh setgeld

Re: Тусламж**Алгоритмын үндэс**Бодлого бодуулах**

Бичлэг Бичсэн Mx. »

Нэгэн нарлаг өдөр хэсэг хүүхдүүд багшыхаа хамт цэцэрлэгт хүрээлэнд зугаалж явжээ. Энэ өдөр тун сайхан зантай Фрёса эгч тасалбар түгээгчээр ажиллаж байлаа. Багшийг тасалбар авахаар мөнгөө өгөхөд хэдэн тасалбар авахыг тэр асуугаасангүй. Фрёса эгч хэдэн тасалбар багшид өгөхийг тооцож ол.

Оролт:

Эхний мөрөнд 6 бүхэл тоо өгөгдөх ба тэдгээр нь харгалзан 10, 50,100, 500, 1000, 5000тын дэвсгэртйин тоо (Фрёса эгчид багшийн өгсөн мөнгө). Дараагийн мөрөнд тасалбарын үнэ (эерэг бүхэл тоо) Өгөгдөнө. Оролтын аль ч утга 1000с хэтрэхгүй.

Гаралт:

Багш хэдэн тасалбар авахыг хүссэн болохыг олно. Эхний мөрөнд боломжуудын тоо, дараагийн мөрөнд боломжит утгуудыг хоосон зайгаар тусгаарлан хэвлэнэ.

Жишээ нь:

Оролт:

0 2 0 0 0 0
10

Гаралт:

5
6 7 8 9 10

Оролт:

1 2 0 0 0 0
10

Гаралт: 1
11

yaaraltai 2tsagiin dotor bodood ogooch baahan tolgoi ergechle
Your Dream iS My Live
Mx.
Гавшгай Гишvvн
Гавшгай Гишvvн
Бичлэгүүд: 136
Нэгдсэн: 7-р сар.22.09 9:05 pm
Байршил: chinii zurh setgeld

Re: C хэл дээр туслаач

Бичлэг Бичсэн Mx. »

Pennydeegii написал:Codeblocks эсвэл Борланд Си дээр энийг яаж compile хийх вэ?
compile хийхээр баахан алдаа заагаад байх юм
Эсвэл Виндөүс дээр болохгүй байгаа юм болов уу :??:

Tetris Game in C

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>

void swap(int a,int b);void bar1();void bar2();
void bar3(); void bar4(); check0(); check1();
check2(); void del(); void rod1(); void rod2();
void box1();void box2();void tee1();voidtee2();
void tee3();void tee4();check3();void insert();
void again();void print();void remove();void frame();
int score=0,spd,q,t,a=0,i,j,l[6]={300,90,315,105,301,91},p,turn,m,n;
char play='y';
static int arr[26][13];
void main(void)
{

char ch,y;
int gd= DETECT,gm,area,maxx,maxy,move,lmove,rmove;
void *buff;
initgraph(&gd,&gm,"d:\tc\bgi");
do{

turn=1;
score=0;
do{
clrscr();
cleardevice();
printf("
Enter Your Choice

");
printf(" Basic Level.......... 1
");
printf(" Middle Level......... 2
");
printf(" Advanced Level....... 3
");
printf(" Experts Level........ 4
");
printf(" Professional Level... 5
");
y=getch();
clrscr();
cleardevice();
if(y=='1') {spd=200; settextstyle(2,0,6);outtextxy(2,150," Basic
Level ");break;}
if(y=='2') {spd=150; settextstyle(2,0,6);outtextxy(2,150," Middle
Level ");break;}
if(y=='3') {spd=100; settextstyle(2,0,6);outtextxy(2,150," Advanced
Level ");break;}
if(y=='4') {spd=75; settextstyle(2,0,6);outtextxy(2,150," Experts
Level ");break;}
if(y=='5') {spd=50; settextstyle(2,0,6);outtextxy(2,150,"Professional
Level ");break;}
}while(1);

frame();
getch();
int k,ar[2],pr[2],t[6];

randomize();
ar[0]=random(2);
pr[0]=random(6);
ar[1]=random(2);
pr[1]=random(6);
while(1)
{
printf(" score= %d
",score);
a=ar[0];
p=pr[0];
l[0]=450;l[1]=250;l[2]=465;l[3]=265;l[4]=451;l[5]=251;

if(y=='1') spd=100;
if(y=='2') spd=75;
if(y=='3') spd=50;
if(y=='4') spd=30;
if(y=='5') spd=20;
print();

delay(500);
a=ar[1];
p=pr[1];

t[0]=l[0]; t[1]=l[1]; t[2]=l[2];
t[3]=l[3]; t[4]=l[4]; t[5]=l[5];

a=ar[1];
p=pr[1];

l[0]=270;l[1]=90;l[2]=285;l[3]=105;l[4]=271;l[5]=91;

do{
k=0;
if(kbhit()){ ch=getch();
if(ch==0) ch=getch();
if(ch==77) {move=check1(); if(move==0) {l[0]+=15;l[2]+=15;l[4]+=15;
k=1;}}
if(ch==75) {move=check2(); if(move==0) {l[0]-=15;l[2]-=15;l[4]-=15;
k=1;}}
if(ch==80) spd=10;
if(ch==27) exit(0);

if(ch==32){
k=1;
if(p==4||p==5) switch(p)
{
case 4: if(a==0) a++; else p++; break;
case 5: if(a==1) a--; else p--;
}
if(p==1||p==2) switch(p)
{ case 1: if(a==0) a++; else p++;
l[0]=270;l[2]=285;l[4]=271;break;
case 2: if(a==1) a--; else p--; l[0]=270;l[2]=285;l[4]=271;
}

if(p==3) { if(a==0) a++; else a=0;
l[0]=270;l[2]=285;l[4]=271; }

}
if(a==1) {swap(l[0],l[1]);swap(l[2],l[3]);swap(l[4],l[5]);}
}



move=check0();
if(move==1) break;

print();

if(k==1) delay(0); else delay(spd);

remove();

if(k==0) {l[1]+=15; l[3]+=15; l[5]+=15;}


}while(1);
print();
fflush(stdin);


insert();

check3();

a=ar[0];
p=pr[0];


l[0]=t[0];l[1]=t[1];l[2]=t[2];l[3]=t[3];
l[4]=t[4];l[5]=t[5];


remove();


ar[1]=ar[0];
pr[1]=pr[0];


ar[0]=random(2);
pr[0]=random(6);

if(pr[0]==2) pr[0]=3;
if(turn==0) break;


}


}while(play=='y');

}


void swap(int a,int b)
{
a=a+b;
b=a-b;
a=a-b;
}


void bar1()
{ if(a==0&&i<1) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==0&&i>=1){l[1]+=15;l[3]+=15;l[5]+=15; }

// if(a==1&&i==1)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==1&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==1&&i>0) {l[0]-=15;l[2]-=15;l[4]-=15; }

if(a==2&&i>=2) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==2&&i<2) {l[1]+=15;l[3]+=15;l[5]+=15; }
}




void bar2()
{ if(a==0&&i>=3){l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i<3) {l[1]-=15;l[3]-=15;l[5]-=15; }

if(a==1&&i<3) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==1&&i==3){l[1]-=15;l[3]-=15;l[5]-=15; }

if(a==2&&i<2) {l[0]+=15;l[2]+=15;l[4]+=15;}
if(a==2&&i>=2){l[1]-=15;l[3]-=15;l[5]-=15; }
}
void bar3()
{if(a==0&&i>=3){l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==0&&i<3){l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==2&&i<2) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==2&&i>=2) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==1&&i>=1) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==1&&i<1) {l[1]+=15;l[3]+=15;l[5]+=15; }
}
void bar4()
{if(a==0&&i<1){l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i>=1) {l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==2&&i>=2) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==2&&i<2){l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==1&&i<3) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==1&&i==3) {l[1]-=15;l[3]-=15;l[5]-=15; }
}
void rod1()

{

if(a==0) {l[0]+=15;l[2]+=15;l[4]+=15; }
else {l[1]+=15;l[3]+=15;l[5]+=15; }
}
void rod2()
{

if(a==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
else {l[1]-=15;l[3]-=15;l[5]-=15; }

}
void box1()
{if(i<1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(i==1) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(i==2) {l[0]+=15;l[2]+=15;l[4]+=15; }
}
void box2()
{if(i<1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(i==1) {l[1]-=15;l[3]-=15;l[5]-=15; }
if(i==2) {l[0]+=15;l[2]+=15;l[4]+=15; }
}
void tee1()
{
if(a==0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i<1) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==0&&(i==2||i==3)) {l[0]+=15;l[2]+=15;l[4]+=15; }


if(a>0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&(i==1)) {l[0]+=15;l[2]+=15;l[4]+=15; }

}
void tee2()
{
if(a==0&&i==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]-=15;l[3]-=15;l[5]-=15; }

if(a>0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a>0&&i==1) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a>0&&i==0) {l[1]-=15;l[3]-=15;l[5]-=15; }


}
void tee3()
{ if(a==0&&i==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
if(a==0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a==0&&i==1) {l[1]+=15;l[3]+=15;l[5]+=15;}


if(a>0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a>0&&(i==1)) {l[0]-=15;l[2]-=15;l[4]-=15; }
}
void tee4()
{ if(a==0&&i==1) {l[1]+=15;l[3]+=15;l[5]+=15; }
if(a==0&&i==0) {l[0]+=15;l[2]+=15;l[4]+=15; }
if(a==0&&i==2)
{l[1]-=15;l[3]-=15;l[5]-=15;l[0]+=15;l[2]+=15;l[4]+=15; }

if(a>0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]-=15;l[3]-=15;l[5]-=15; }
if(a>0&&i==0) {l[1]-=15;l[3]-=15;l[5]-=15; }
if(a>0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }

}

check0()
{ int x,y,s,d=5;

x=(l[0]-180)/15;
y=(l[1]-90)/15;
if(a==0){
switch (p)
{ case 0: y+=2;d=2; if(arr[y][x-1]==1) return(1); else break;
case 1: y+=4;x++;d=1;if(arr[y-3][x-1]==1) return(1); else break;
case 2: y=y+4;d=2;x+=1;break;
case 3: y=y+1;d=5;x+=4;break;
case 4: y+=2;d=3;x++;break;
case 5: y+=1;d=3;if(arr[y+1][x-1]==1) return(1); else break;
}
for(s=1;s<d;s++,x--)
if(arr[y][x]==1) return(1);
if((arr[y][x])==0) return(0); else return(1);
}

if(a==1){
switch (p)
{ case 0: y+=2;d=2; if(arr[y][x-1]==1) return(1); else break;
case 1: y=y+2;d=4;if(arr[y][x]==1) return(1); else break;
case 2: y=y+2;d=4;x+=3;if(arr[y][x-3]==1) return(1); else break;
case 3: y=y+5;d=0;break;
case 4: y+=3;d=0;if(arr[y-1][x+1]==1) return(1); else break;
case 5: y+=3;d=0;if(arr[y-1][x-1]==1) return(1); else break;
}
for(s=1;s<d;s++,x--)
if(arr[y][x]==1) break;
if((arr[y][x])==0) return(0); else return(1);
}


return(0);
}


check1()
{ int x,y,s,d=5;

x=(l[0]-150)/15;
y=(l[1]-90)/15;

if(a==0){
switch (p)
{ case 0: x=x-1;y++;d=2;break;
case 1: x=x;d=3; y=y+3; break;
case 2: x=x;d=4;y+=3; break;
case 3: x=x+3;d=0;break;
case 4: x=x;break;
case 5: x=x-1;d=0;

}
for(s=0;s<d;s++,y--)
if(arr[y][x]==1) break;
if((arr[y][x])==0) return(0); else return(2);
}


if(a==1)
{ switch(p)
{ case 0: x=x; break;
case 1: x=x;d=1;break;
case 2: x=x+3; break;
case 3: x=x;y+=5;d=4;break;
case 4: x=x+1;break;
case 5: x=x;y+=2;d=2;
}

for(s=0;s<d;s++,y--)
if(arr[y][x-1]==1) break;
if((arr[y][x-1])==0) return(0); else return(2);
}
return(0);
}


check2()
{
int x,y,s,d=5;
x=(l[0]-150)/15;
y=(l[1]-90)/15;
if(a==0){
switch (p)
{ case 0: x=x-1;d=1;break;
case 1: x=x;d=3;break;
case 2: x=x;d=3;break;
case 3: x=x;d=0;break;
case 4: x=x-1;d=1;break;
case 5: x=x-2;d=0;
}
for(s=0;s<d;s++,y++)
if(arr[y][x-3]==1) break;
if((arr[y][x-3])==0) return(0); else return(2);
}

if(a==1){


switch (p)
{ case 0: x=x-4;d=2;break;
case 1: x=x-6;d=0;break;
case 2: x=x-3;d=2;y-=1;break;
case 3: x=x-3;d=5;break;
case 4: x-=3; d=3;break;
case 5: x-=4; d=4;
}
for(s=1;s<d;s++,y++)
if(arr[y][x]==1) break;
if((arr[y][x])==0) return(0); else return(2);
}
return(0);
}

check3()
{

for(t=1;t<25;t++)

for(q=1;q<12;)
if(arr[t][q]==1) { q++; if(q==12) {score+=100;del();}} else break;

return(0);
}


void insert()
{ int x,y;
for(i=0;i<5;i++){
x=(l[0]-180)/15;
y=(l[1]-90)/15;
arr[y][x]=1;
switch(p)
{
case 0: box2();break;
case 1: bar2();break;
case 2: bar4();break;
case 3: rod2();break;
case 4: tee2();break;
case 5: tee4();
}
}

if(arr[0][5]==1||arr[0][6]==1)
{
settextstyle(3,0,4);
outtextxy(180,100," GAME OVER ");
fflush(stdin);
getch();
turn=0;
again();
}

}

void print()
{
for(i=0;i<5;i++){
setcolor(WHITE);
setfillstyle(SOLID_FILL,6);
rectangle(l[0]+1,l[1]+1,l[2]-1,l[3]-1);
floodfill(l[4]+1,l[5]+1,WHITE);
if(i<4) switch (p)
{ case 0 : box1();break;
case 1 : bar1();break;
case 2 : bar3();break;
case 3 : rod1();break;
case 4 : tee1();break;
case 5 : tee3();
}
}

}

void remove()
{
for(i=0;i<5;i++){
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
rectangle(l[0]+1,l[1]+1,l[2]-1,l[3]-1);
floodfill(l[4]+1,l[5]+1,BLACK);
if(i<4) switch (p)
{ case 0 : box2();break;
case 1 : bar2();break;
case 2 : bar4();break;
case 3 : rod2();break;
case 4 : tee2();break;
case 5 : tee4();
}
}

}

void del()
{ int m,n;
for(;t>0;t--)
for(q=1;q<12;q++)
arr[t][q]=arr[t-1][q];


for(n=0;n<25;n++)
//delay(50);
for(m=1;m<12;m++){

if(arr[n][m]==1) { setcolor(WHITE);
setfillstyle(SOLID_FILL,6);
rectangle((m*15)+181,(n*15)+91,(m*15)+194,(n*15)+104);
floodfill((m*15)+182,(n*15)+92,WHITE);
}


else { setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
rectangle((m*15)+181,(n*15)+91,(m*15)+194,(n*15)+104);
floodfill((m*15)+182,(n*15)+92,BLACK);
}


}
}



void frame()
{ setcolor(WHITE);
setfillstyle(SOLID_FILL,8);

settextstyle(7,0,6);
outtextxy(140,3," TETTRIS ");
setcolor(WHITE);
settextstyle(2,0,7);
outtextxy(400,440,"Press 'Esc' To Exit");
settextstyle(2,0,5);
outtextxy(5,285," PRESS ");
outtextxy(5,300,"Space To Change Shape");
outtextxy(5,315,"Use Arrow Keys To Move");



rectangle(180,465,375,480);
floodfill(181,466,WHITE);

rectangle(180,90,194,480);
floodfill(181,95,WHITE);

rectangle(361,90,375,480);
floodfill(362,95,WHITE);


setcolor(WHITE);
settextstyle(7,0,1);
outtextxy(400,200," Next To Come ");
setfillstyle(SOLID_FILL,0);
rectangle(400,230,530,335);
floodfill(401,231,WHITE);



for(m=0;m<26;m++)
for(n=0;n<13;n++)
arr[m][n]=0;

for(m=0,n=0;n<26;n++)
arr[n][m]=1;

for(n=12,m=0;m<26;m++)
arr[m][n]=1;

for(m=25,n=0;n<13;n++)
arr[m][n]=1;

}
void again()
{
cleardevice();
setcolor(WHITE);
setfillstyle(SOLID_FILL,BLACK);
rectangle(150,175,530,335);
floodfill(159,179,BLACK);


setcolor(WHITE);
settextstyle(7,0,1);
outtextxy(175,200," Enter Your Choice ");
outtextxy(175,220," Press 'Y' To Play Again ");
outtextxy(175,240," Press Any Key To Exit ");

play=getch();
if(play=='y') cleardevice();
else exit(0);

}
ter getchi conio.h 2iig arilgad uz ene 2 zgr l system pause iin uureg compile der hereeggui gj bodoj bna
Your Dream iS My Live
Сэтгэгдэл хариулах

“Монгол Программчлал - Монголжихуй” руу буцах