برنامه چاپ و حرکت ستاره

برنامه چاپ و حرکت ستاره

* ->*->*->* *

       *      *

           *

      *      *

* ->*->*->* *


.model
.stack 64
.data
   i db 0
   j db 4
   n db 5
.code
main proc far
    mov ax , @data
    mov DS , ax
;l15:
; for khate aval
    mov i , 0
    l1:
    cmp i , 5
    jae l2
  ;gotoxy
    mov ah , 2
    mov dl , i
    ;mov dh , i
    mov bh , 0
    int 10h
  ;printf
    mov ah , 2
    mov dl , "*"
    int 21h
  ;delay
    mov cx , 100
    l5:
    loop l5
  ;gotoxy
    mov ah , 2
    mov dl , i
    ;mov dh , i
    mov bh , 0
    int 10h       
  ;printf
    mov ah , 2
    mov dl , " "
    int 21h       
  ;end for
    inc i
    jmp l1
    l2:
; for khate dovom
    mov i , 0
    l3:
    cmp i , 5
    jae l4
  ;gotoxy
    mov ah , 2
    mov dl , j
    mov dh , i
    mov bh , 0
    int 10h
  ;printf
    mov ah , 2
    mov dl , "*"
    int 21h
  ;delay
    mov cx , 100
    l6:
    loop l6
  ;gotoxy
    mov ah , 2
    mov dl , j
    mov dh , i
    mov bh , 0
    int 10h       
  ;printf
    mov ah , 2
    mov dl , " "
    int 21h       
  ;end for
    inc i
    dec j
    jmp l3
    l4:
; for khate Sevom
    mov i , 0
    l7:
    cmp i , 5
    jae l8
  ;gotoxy
    mov ah , 2
    mov dl , i
    ;mov dh , i
    mov bh , 0
    int 10h
  ;printf
    mov ah , 2
    mov dl , "*"
    int 21h
  ;delay
    mov cx , 100
    l9:
    loop l9
  ;gotoxy
    mov ah , 2
    mov dl , i
    ;mov dh , i
    mov bh , 0
    int 10h       
  ;printf
    mov ah , 2
    mov dl , " "
    int 21h       
  ;end for
    inc i
    jmp l7
    l8:
; for khate chaharom
    mov i , 4
    mov j , 4
    l10:
    cmp i , 0
    jb l11
  ;gotoxy
    mov ah , 2
    mov dl , j
    mov dh , i
    mov bh , 0
    int 10h
  ;printf
    mov ah , 2
    mov dl , "*"
    int 21h
  ;delay
    mov cx , 100
    l12:
    loop l12
  ;gotoxy
    mov ah , 2
    mov dl , j
    mov dh , i
    mov bh , 0
    int 10h       
  ;printf
    mov ah , 2
    mov dl , " "
    int 21h       
  ;end for
    dec i
    dec j
    jmp l10
    l11:
;jmp l15          
main endp
end main
   
   
   

برنامه Hello

برنامه hello به عنوان اولین برنامه تحت زبان اسمبلی ارسال می گردد .

.model small
.stack 64
.data
     str DB "HELLO" , '$'
.code
     main proc far
          mov AX , @data
          mov DS , AX
          mov AH , 9
          lea DX , str
          int 21h
          mov AX , 4c00h
          int 21h
          main endp
     end main  

3 آرایه

برنامه ای بنویسید که دو آرایه n عنصری را از ورودی گرفته و پس از مرتب کردن آنها در یک آرایه سوم به صورت مرتب شده ادغام کند . برای دریافت و مرتب سازی و ادغام از 3 تابع مجزا استفاده کنید .

int get(int Aray1[] ,int first , int Aray2[] , int second);
int sort(int Aray1[] ,int first , int Aray2[] , int second);
int combine(int Aray1[] ,int first , int Aray2[] , int second , int Aray3[], int x);
int print(int Aray3[] , int x);
int main()
{
    int x;
// Size Of Arrays
    int* Aray1;
    int* Aray2;
    int* Aray3;
    int first,second;
    printf("Enter Size of First aray : ");
    scanf("%d",&first);
    Aray1=new int[first];

    printf("Enter Size of second aray: ");
    scanf("%d",&second);
    Aray2=new int[second];

    x=first+second;
    Aray3=new int[x];



get(Aray1 ,first , Aray2 , second );
sort(Aray1 ,first , Aray2 , second );
combine (Aray1 ,first , Aray2 , second , Aray3 , x );
print ( Aray3 , x);
getch();
return 0;
}

//#################################

int sort(int Aray1[] ,int first , int Aray2[] , int second)
{
cout<int i , j , t ;
for(i=1;i<=first;i++)
 for(j=0;j<=first-i;j++)
    if (Aray1[j]>Aray1[j+1])
     {
        t = Aray1[j];
        Aray1[j]=Aray1[j+1];
        Aray1[j+1] = t;
     }

for(i=1;i<=second;i++)
 for(j=0;j<=second-i;j++)
    if (Aray2[j]>Aray2[j+1])
     {
        t = Aray2[j];
        Aray2[j]=Aray2[j+1];
        Aray2[j+1] = t;
     }
}


//################################

int print( int Aray3[], int x)
{
cout<int i ;
for(i=0;i     {
        cout<     }


}

//#################################

int combine(int Aray1[] ,int first , int Aray2[] , int second , int Aray3[], int x)
{
cout<int i ;
for(i=0;i     {
        Aray3[i] = Aray1[i];
     }
for(i=0;i     {
        Aray3[i+first] = Aray2[i];
     }

}
//################################

int get(int Aray1[] ,int first , int Aray2[] , int second)
{
    int i ;
    for(i=0;i    {
        printf("Enter element  %d : ",i+1);
        scanf("%d",&Aray1[i]);
    }

    cout<<"enter Second Array Elements "<    for(i=0;i    {
        printf("Enter element  %d : ",i+1);
        scanf("%d",&Aray2[i]);
    }

    printf("The Arrays you have input is:\n");
    for(i=0;i    {
        printf("%d \t",Aray1[i]);
    }
    cout<    for(i=0;i    {
        printf("%d \t",Aray2[i]);
    }

}

عدد رندوم باینری

برنامه ای بنویسید که یک جدول از اعداد باینری در محدوده 1 الی 256 را به نمایش در آورد . برای تبدیل و چاپ عدد دهدهی به باینری از تابع استفاده کنید .


int binary(int n);
int main()
{
int n;
srand(time(0));
n=(rand() % 256 );
if (n==0)
 n++;

printf ("Your Random Decimal number Is ::::::> %d  \n",n);
binary( n );

getch();
return 0;

}

//#################

int binary(int n)
{
int i=15 , k ;

while (n>1)
{
 k=n%2 ;
 gotoxy (i,6);
 printf("%d",k);
 i-=2;
 n=n/2 ;
}

gotoxy (i,6);
printf("%d",n);

printf("\n\n\n*************************************");

}

مقدار e^x

تابعی بنویسید که مقدار e^x را با استفاده از فرمول زیر محاسبه کند

e^x=1+x/1!+x^2/2!+....


float power (float x, float i);
float fact (float i);
int main()
{
 float x , i , j ;
 float w=0 ;
 cout<<"Ta chand jomle mikhahid mohasebe shavad ?? ==> ";
 cin>>i;
 i--;
 cout<<"meghdare X ra vared konid ==> ";
 cin>>x;
 for(j=0;j<=i;j++)
  w+=(power(x,j) / fact(j));

 cout<<"your e^x is : "<
getch();
return 0;
}

//######################

float power (float x , float i)
{
 int j ;
 for(j=0;j<=i;j++)
  x*=x;
 return x;
}

//######################

float fact (float i)
{
int j ;
float k=1;
if(i<=1)
  k=1;
else
 for (j=1;j<=i;j++)
    k=k*j;
return k;
}

ستطیل یک لوزی و یک فلش

برنامه ای بنویسید که بتواند یک مستطیل یک لوزی و یک فلش را همانند الگور زیر با استفاده از کاراکتر * ترسیم کند .

*****            *                          *

*      *         * * *                    *     * 

*      *            *                     *          *

*      *            *                       *     *

******           *                           *

  کد فلش


int main()
{
 int i,j;
 for (i=0;i<5;i+=2)
  {
    if(i==0)
      cout<<"  ";
    if (i==2)
      cout<<" ";
    for(j=0;j<=i;j++)
      {
         cout<<"*";
      }
     cout<  }

 for (i=0;i<6;i++)
  {
     for(j=0;j<1;j++)
      cout<<"  "<<"*";
     cout<  }

 getch();
 return 0;
}


کد مستطیل


int main()
{
 int i,j,k;
 for (i=0;i<9;i++)
  {
     if(i==0||i==8)
      {
         for(j=0;j<10;j++)
          cout<<"*";
      }
     else
        {
          cout<<"*";
          for(k=0;k<8;k++)
            cout<<" ";
        cout<<"*";
        }
     cout<  }
 getch();
 return 0;
}

تکرار عناصر آرایه

برنامه ای بنویسید که یک آرایه n عضوی را از کاربر بگیرد و تعداد دفعات تکرار هر عنصر را در یک ماتریس حداکثر 2*n عنصری ذخیره کند . ماتریس خروجی نباید سطر مشابه داشته باشد . فرض کنیدد صورت ثابت است .

int main()
{
 int c=1,a[5]={4,5,4,4,5},m,i,j;
for(j=0;j<5;j++)
 {
  m=a[j];
  for(i=1;i<5;i++)
    {
     if(a[i]>0)
      {
        if(a[i]==m)
         {
          c++;
          a[j]=0;
          a[i]=0;
         }
      }
    }
  cout<<"Tedad "<  c=1;
 }

getch();
return 0 ;
}

آرایه 20 عضوی

برنامه ای بنویسید که 20 عدد را از کاربر گرفته آن ها در یک آرایه ذخیره کرده ، سپس اعداد زوج را بصورت صعودی از ابتدای آرایه و اعداد فرد را بصورت صعودی از انتهای آرایه مرتب کند .


int main()
{
 int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},b[20],i,k,j=0,l=0;
 for(i=0;i<20;i++)
    {
      k=(a[i]%2);
      if(k==0)
      {
         b[l]=a[i];
         l++;
      }
      else
      {
         b[19-j]=a[i];
         j++;
      }
    }
 for(i=0;i<20;i++)
    cout<<"  "<
 getch();
 return 0;
}

کلیه اعداد اول کوچکتر از یک عدد

برنامه ای بنویسید که یک عدد را گرفته و کلیه اعداد اول کوچکتر از آن را چاپ کند . برای پیدا کردن اعداد اول باید از تابع استفاده کنید .

long aval(long n);
int main()
{
 long n ;
 cout<<"please enter number for find aval==>";
 cin>>n;
 cout<  aval(n);
 getch();
 return 0;
}

long aval(long n)
{
 int i , j , c=0;
 for(i=1;i<=n;i++)
 {
  for(j=1;j<=i;j++)
     if(i%j==0)
        c++;
  if(c==2)
    cout<   c=0;
 }
}

عداد تکرارهای یک رقم در یک عدد صحیح

برنامه ای بنویسید که تعداد تکرارهای یک رقم در یک عدد صحیح را با استفاده از تابع پیدا کند


void tekrar(int n);
int main()
{
  int n;
  cout<<"Please Enter number==> ";
  cin>>n;
  tekrar(n);
  getch();
  return 0;
}

void tekrar(int n)
{
 int k,a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
  while(n>9)
    {
     k=(n%10);
     
     if(k==1)
        a++;
     if(k==2)
        b++;
     if(k==3)
        c++;
     if(k==4)
        d++;
     if(k==5)
        e++;
     if(k==6)
        f++;
     if(k==7)
        g++;
     if(k==8)
        h++;
     if(k==9)
        i++;
    if(k==0)
        j++;

  n=n/10;
    }

     if(n==1)
        a++;
     if(n==2)
        b++;
     if(n==3)
        c++;
     if(n==4)
        d++;
     if(n==5)
        e++;
     if(n==6)
        f++;
     if(n==7)
        g++;
     if(n==8)
        h++;
     if(n==9)
        i++;
     if(n==0)
        j++;
 if(a>=1)
 cout< if(b>=1)
 cout<<"you entered "< if(c>=1)
 cout<<"you entered "< if(d>=1)
 cout<<"you entered "< if(e>=1)
 cout<<"you entered "< if(f>=1)
 cout<<"you entered "< if(g>=1)
 cout<<"you entered "< if(h>=1)
 cout<<"you entered "< if(i>=1)
 cout<<"you entered "< if(j>=1)
 cout<<"you entered "<}

m بتوان n

تابعی بنویسید که دو عدد m و n را از کاربر گرفته و m را بتوان n برساند

int pow(int m , int n);
int main()
{
 int n=0 , m=0;
 cout<<"please enter m & n for m^n ==>";
 cin>>m>>n ;
 cout< getch();
 return 0;
}
int pow(int m , int n)
{
int i , k=1;
for(i=1;i<=n;i++)
 k*=m;
return k;
}

حاصل عبارت

برنامه بنویسید که حاصل عبارت زیر را محاسبه کند . برای محاسبه فاکتوریل از تابع استفاده کنید .

1 + 1/2! + 1/3!+… + 1/n!



float fact(float n);
int main()
{
 float n ,w=0,i;
 cout<<"You want to determine 1+1/2!+1/3!+...+1/n!"< cout<<"please enter n ==> ";
 cin>>n;
 cout<<"1";
 for(i=0;i {
  cout<<" + ";
  w+=(1/fact(n-i));
 }
 cout<<" = "<<1+w;
 getch();
 return 0;
}
float fact(float n)
{
 float i , k=1;
 for(i=1;i<=n;i++)
  k*=i;
 cout<<(1/k);
 return k;
}

ب م م  - ک م م دو عدد

برنامه ای بنویسید که ب م م و ک م م دوعدد را چاپ کند

int bmm (int n , int m);
int kmm (int n , int m);
int main()
{
 int n=0,m=0,w=0;
 cout<<"please enter n & m ==> ";
 cin>>n>>m;
 w = bmm(n,m);
 if(w>1)
    cout<

عضاء مشترک دو آرایه 10 عنصری

برنامه ای بنویسید که تعداد اعضاء مشترک دو آرایه 10 عنصری را مشخص کرده و آنها را چاپ کند .

int main()
{
 int a1[10]={1,2,3,4,5,6,7,8,9,10},a2[10]={11,12,13,14,15,16,17,18,19,1},i,j,c=0;
 cout<<"your aray is :"< for(i=0;i<10;i++)
 cout<<"  "< cout< for(i=0;i<10;i++)
 cout<<"  "< cout< for(i=0;i<10;i++)
  for(j=0;j<10;j++)
    if(a1[i]==a2[j])
     {
     cout<<"your "<     c++;
     }
 cout< getch();
 return 0;

}

100 جمله اول سری

برنامه ای بنویسید که مجموع 100 جمله اول سری زیر را محاسبه کنید :

1+1/2+1/4+1/8+…



int main()
{
float s=0 , i ,c=0;
cout<<" You want to determine Something Like This   : "<<<"1+1/2+1/4+1/8+1/16+...+1/n" <cout<<" 1 + " ;
i=2 ;
while (c<=99 )
 {
    s+=1/i;
    cout<<1/i<<"+ " ;
    c++;
    i*=2 ;
 }
cout<<" ===== >>>>>"<"<return 0 ;
}

100-110-120

برنامه ای بنویسید که خروجی آن به شکل زیر باشد :

100
110 100
120 110 100
130 120 110 100
140 130 120 110 100
150 140 130 120 110 100
160 150 140 130 120 110 100
170 160 150 140 130 120 110 100
180 170 160 150 140 130 120 110 100
190 180 170 160 150 140 130 120 110 100
200 190 180 170 160 150 140 130 120 110 100



int main()
{
int i ,j ;
for(j=100 ; j<=200 ;j+=10)
 {
    for(i=100 ; i<=j ; i+=10)
     {
        cout<        if(i==j)
         {
            cout<         }
     }
    cout< }
}

معکوس یک عدد

برنامه ای بنویسید که یک عدد را از کاربر گرفته و معکوس آنرا چاپ کند .

int main()
{
int n , k;
cout<<"Please Enter Number ==> ";
cin>>n;
cout<while(n>9)
 {
  k=(n%10);
  cout<  n=n/10;
 }
 cout<}

عدد اول

برنامه ای بنو سید که مشخص کند آیا یک عدد اول است یا خیر .


int main()
{
int n , i ,k ,c=0;
cout<<"Please Enter Number ==> ";
cin>>n;
cout<for( i=1 ; i<=n ; i++ )
 {
  k=(n%i);
  if(k==0)
  c++;
 }
if(c==2)
cout<<"Aval";
else
cout<<"Not Aval";
}

سری فیبوناتچی

برنامه ای بنویسید که یک عدد را بگیرد و مشخص کند جزء سری فیبوناتچی هست یا خیر

int main()
{
int a=1,b=1,n,c=0 ;
cout<<"Please Enter Number ==> ";
cin>>n;
cout<if(n==1)
cout<<"1";
if(n==2)
cout<<"1 , 1";
if(n>2)
 {
  cout<<"1 , 1 ";
  do
  {
    c=a+b ;
    a=b ;
    b=c ;
    if(c>n)
        break ;
    cout<<" , "<
  }while(c<=n);

    cout<
    if(a==n)
      cout<<"Your Number is in Fibunatchi Series";
    else
      cout<<"Your Number is Not in Fibunatchi Series";

    cout<  }

return 0 ;

}

فاکتوریل

برنامه ای بنویسید که یک عدد را گرفته فاکتوریل آنرا چاپ کند



int main()
{
 double n,i,m=1 ;
 cout<<"Please Enter Number for Factorial ";
 cin>>n;
 if(n==0)
  cout<<"0! = 1 ";
 else
  {
    for(i=1 ; i<=n ; i++)
     m*=i;
    cout< "<  }

 return 0 ;
}

ضرایب معادله های درجه دوم

برنامه ای بنویسید که ضرایب معادله های درجه دوم را بخواند و جوابهای آن را به دست آورده و چاپ کند و اگر معادله ریشه حقیقی نداشته باشد پیغام مناسب نمایش دهد .

int main()
{
 int a,b,c,m ;
 cout<<"Please Enter A , B , C ==>  ";
 cin>>a>>b>>c;
 cout< m=(b*b)-(4*a*c);
 if(a==0 || b==0 || c==0)
 {
 if (a==0)
 cout<<"Your Function Has a Root ==>"<<-((c)/(b));

 if (b==0)
    if ((-c/a)<0)
    cout<<"Error";
    else
 cout<<"Your Function Has a Root ==>"<

 if(c==0)
 {
 cout<<"Your Function Has Two Root : First ==>" <<0< cout<<"Your Function Has Two Root : Second==>" <<-(b/a);
 }
 }

else

 {

 if(m<0)
 cout<<"Your Function hasnot real root !!!! ";
 if(m==0)
 cout<<"Your Function Has a Double Root ==>"<<-((b)/(2*a));
 if(m>0)
 {
 cout<<"Your Function Has Two Root : First ==>" <<((-b-sqrt(m))/(2*a))< cout<<"Your Function Has Two Root : Second==>" <<((-b+sqrt(m))/(2*a));
 }

 }
 return 0;
}

3 آرایه متغیر

دوستان عزیز این یک کد عالی برای ایجاد آرایه با اندازه دلخواه است . برنامه دو آرایه با طول دلخواه که از کاربر میگیرد ایجاد میکند و سپس اعضای آرایه ایجاد شده را از کاربر میگیرد و آنها را در یک آرایه سوم ذخیره کرده و آن آرایه را سرت میکند و بصورت نزولی به صعودی میچیند . مطالب استفاده شده در این کد ارسال آرایه به عنوان آرگومان به تابع - سرت آرایه - ایجاد آرایه با طول متغیر - و ...


int get(int Aray1[] ,int first , int Aray2[] , int second);
int sort(int Aray1[] ,int first , int Aray2[] , int second);
int combine(int Aray1[] ,int first , int Aray2[] , int second , int Aray3[], int x);
int print(int Aray3[] , int x);
int main()
{
    int x;
// Size Of Arrays
    int* Aray1;
    int* Aray2;
    int* Aray3;
    int first,second;
    printf("Enter Size of First aray : ");
    scanf("%d",&first);
    Aray1=new int[first];

    printf("Enter Size of second aray: ");
    scanf("%d",&second);
    Aray2=new int[second];

    x=first+second;
    Aray3=new int[x];



get(Aray1 ,first , Aray2 , second );
sort(Aray1 ,first , Aray2 , second );
combine (Aray1 ,first , Aray2 , second , Aray3 , x );
print ( Aray3 , x);
getch();
return 0;
}

//#################################

int sort(int Aray1[] ,int first , int Aray2[] , int second)
{
cout<int i , j , t ;
for(i=1;i<=first;i++)
 for(j=0;j<=first-i;j++)
    if (Aray1[j]>Aray1[j+1])
     {
        t = Aray1[j];
        Aray1[j]=Aray1[j+1];
        Aray1[j+1] = t;
     }

for(i=1;i<=second;i++)
 for(j=0;j<=second-i;j++)
    if (Aray2[j]>Aray2[j+1])
     {
        t = Aray2[j];
        Aray2[j]=Aray2[j+1];
        Aray2[j+1] = t;
     }
}


//################################

int print( int Aray3[], int x)
{
cout<int i ;
for(i=0;i     {
        cout<     }


}

//#################################

int combine(int Aray1[] ,int first , int Aray2[] , int second , int Aray3[], int x)
{
cout<int i ;
for(i=0;i     {
        Aray3[i] = Aray1[i];
     }
for(i=0;i     {
        Aray3[i+first] = Aray2[i];
     }

}
//################################

int get(int Aray1[] ,int first , int Aray2[] , int second)
{
    int i ;
    for(i=0;i    {
        printf("Enter element  %d : ",i+1);
        scanf("%d",&Aray1[i]);
    }

    cout<<"enter Second Array Elements "<    for(i=0;i    {
        printf("Enter element  %d : ",i+1);
        scanf("%d",&Aray2[i]);
    }

    printf("The Arrays you have input is:\n");
    for(i=0;i    {
        printf("%d \t",Aray1[i]);
    }
    cout<    for(i=0;i    {
        printf("%d \t",Aray2[i]);
    }

}

دو آرایه

این برنامه دو آرایه را در خود ذخیره دارد . و آرایه ها را باهم مقایسه میکند و عناصر تکراری آرایه را با شماره خانه آن چاپ کرده و در انتها تعداد عناصر تکراری را چاپ میکند .


int main()
{
 int a1[10]={1,2,3,4,5,6,7,8,9,10},a2[10]={11,12,13,14,15,16,17,18,19,1},i,j,c=0;
 cout<<"your aray is :"< for(i=0;i<10;i++)
 cout<<"  "< cout< for(i=0;i<10;i++)
 cout<<"  "< cout< for(i=0;i<10;i++)
  for(j=0;j<10;j++)
    if(a1[i]==a2[j])
     {
     cout<<"your "<     c++;
     }
 cout< getch();
 return 0;

}

مهم

دوستان عزیز اکثر کدهای نوشته شده در این قسمت تحت کامپایلر Turbo c++ 4.5  کار می کند در صورتی که بخواهید این کد را برای دیگر کامپایلر ها تغییر دهید هزینه نوشتن دوباره کد از شما دریافت می گردد .

ضمنا هدر فایلها را خودتان به ابتدای برنامه اضافه کنید .

#include  iostream.h
#include   stdio.h
#include   conio.h