1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

سورس های نوشته شده به زبان C و ++C

شروع موضوع توسط hector2141 ‏28/9/12 در انجمن C #C++

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

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

    کد:

    #include <conio.h>
    #include <iostream.h>
    #include <stdio.h>
    void main()
    {int s=1,i,j,k,r,a[8][8],min,l;
    clrscr();
    cout<<"anasor matris ra vared konid : "<<endl;
    for(i=0;i<8;i++)
    for(j=0;j<8;j++){
    cout<<"satr : "<<i+1<<" soton : "<<j+1<<endl;
    cin>>a[j];
    }
    for(i=0;i<8;i++) {
    for(j=0;j<8;j++){
    if(j==0) {
    min=a[j]; k=j;}
    else if(a[j]<min){
    min=a[j]; k=j;} }
    for(r=0;r<8;r++)
    if(min<a[r][k])
    s=0;
    if(s){
    cout<<"onsor zin asbi satr "<<i+1<<" soton "<<k+1<<" barabare "<<min<<" mibashad."<<endl;
    getch();}
    s=1;
    for(j=k+1;j<8;j++)
    if(a[j]==min){l=j;
    for(r=0;r<8;r++)
    if(min<a[r][l])
    s=0;
    if(s){
    cout<<"onsor zin asbi satr "<<i+1<<" soton "<<l+1<<" barabare "<<min<<" mibashad."<<endl;
    getch();}
    s=1;}
    }
    }
     
  2. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    یک رشته و یک کاراکتر را دریافت کرده و در طول رشته هر جا که آن کاراکتر باشد را پاک میکند.

    کد:

    #include <conio.h>
    #include <iostream.h>
    #include <stdio.h>
    void main()
    {char s[100],ch; int j,n=100;
    clrscr();
    cout<<"reshte ra vared konid :"<<endl;
    gets(s);
    cout<<"harfi ke mikhahid az reshte pak shavad ra vared konid"<<endl;
    cin>>ch;
    for(int i=0;i<n;i++)
    if(ch==s){
    n--;
    for(j=i;j<n;j++)
    s[j]=s[j+1];
    s[j]=0;
    i--;}
    puts(s);
    getch();}
     
  3. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    تغییر مبنا
    کد:

    #include <conio.h>
    #include <iostream.h>
    #include <stdio.h>
    void main()
    { int l,a,d,i=0,z=0,j,k,b=0,r=1,f=0,c=0,q=0;
    clrscr();
    cout<<"addad ra vared konid : "<<endl;
    cin>>l;
    cout<<"mabnaye kononi : "<<endl;
    cin>>a;
    cout<<"mabnaye darkhasti : "<<endl;
    cin>>d;
    int n=l;
    while(n){
    n/=10;
    i++;}
    for(j=1;j<=i;j++){
    b=l%10;
    l/=10;
    for(k=2;k<j;k++)
    r*=r;
    c=b*r;
    f+=c;
    r=a;}
    int t=f; r=1;b=0;c=0;
    while(t){
    t/=d;
    z++;}
    for(j=1;j<=z;j++){
    b=f%d;
    f/=d;
    for(k=2;k<j;k++)
    r*=10;
    c=b*r;
    q+=c;
    r=10;}
    cout<<"addade vared shode dar mabnaye jadid barabare "<<q<<" mibashad."<<endl;
    getch();}
     
  4. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    تعداد فاصله ها رو توی رشته مشخص میکنه
    کد:

    #include<iostream.h>
    #include<conio.h>
    void main()
    {

    clrscr();
    int i=1;char ch;
    while((ch=cin.get())!='\n')
    {
    if(ch==' ')
    i++;
    }
    cout<<i;
    getch();
    }
     
  5. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    کد زیر بروش بازگشتی عناصر یک آرایه رو چاپ میکنه :
    کد:

    #include <iostream>
    #include <conio>
    void Print_array(int a[],int n){
    if(n==1)
    cout<<a[n-1]<<" ";
    else{
    Print_array(a,n-1);
    cout<<a[n-1]<<" ";
    }
    }
    //===============================
    int main(){
    int a[]={2,6,8,5,3};
    Print_array(a,5);
    getch();
    }
     
  6. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

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

    کد:

    #include
    #include
    #include
    #include

    int main()

    {

    // ba tarife yek araye be sorate tasadofi adadhaye beine 1 ta 6
    // ra dar arraye gharar midahim
    // in kar be vasile tabehaye Srand() va Rand() anjam mishe
    //***********************************************************************
    int Array[6];
    srand(time(0));
    for (int j = 0; j<= 5; j++ )
    Array[j] = 0;
    int n = 0;
    for (int i = 1; i<= 100; i++ )
    {
    // dastore Rand() yek adade tasadofi beyne 1 ta 32767 ra entekhab mikonad
    // baraye inke in adad dar baze 1 ta 6 gharar begirad
    // as dastore zir estefade mikonim
    int num = rand() % 6 + 1;
    // in dastor baraye in ast ke addadhaye entekhab shode tekrari nabashand
    if ( num == Array[0] || num == Array[1]|| num == Array[2]
    || num == Array[3]|| num == Array[4]|| num == Array[5])
    continue;

    Array[n] = num;
    n = n+1;
    if (n > 6 )
    break;
    }
    //***********************************************************************

    // in halghe for() baraye namayeshe adadhaye entekhab shode ast
    // for (int k = 0; k<= 5; k++ )
    // {
    // cout << Array[k];
    // cout << endl;
    // }

    int m[6] ;
    for (int e1 = 0; e1<= 5; e1++ )
    m[e1] = 0 ;
    cout << " Enter A number Less of 1 for Exit "<< endl << endl;
    int w ;

    // halghe for() tanha 10 bar tekrar mishavad yani har nafar faghat 10 bar
    // forsat darad adadha ra hads bezanad
    //***********************************************************************
    for(int v=1;v<=10;v++)
    {
    w = 0 ;
    cout << " Enter Six Number Between 1 to 6 : ";
    // in halghe adadhaye neveshte shode ra mikhanad
    // agar bishtar as 6 bood peighame khata neshan dade mishavad
    // agar karbar adade 0 ra vared karde bashad barname exit mishavad

    for (int e =0; e<= 5; e++ )
    {
    cin >> m[e] ;
    }
    for (int e3 =0; e3<= 5; e3++ )
    {
    if (m[e3] > 6 )
    {
    cout < w = 1;
    for (int e2 = 0; e2<= 5; e2++ )
    m[e2] = 0 ;
    break;
    }
    if ( m[e] < 1 )
    exit(0);
    }
    // cout << "nvbvg"<< m[0]<<" "< if ( w == 0 )
    {
    // ba moghayese adadhaye vared shode va adadhaye tasadofi bejaye adadhaye
    // eshtebah "F" gharar migirad
    cout << endl<< " " ;
    for ( int z = 0; z<= 5 ; z++ )
    {
    if ( m[z]== Array[z] )
    cout << m[z]<< " " ;
    else
    cout << "F ";
    }
    cout << endl ;
    }
    cout << endl ;
    }

    return 0;
    }
     
  7. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    کلاس چند جمله ای ها به زبان سی پلاس پلاس
    کد:

    #include<conio.h>
    #include<iostream.h>
    #define Max 20
    class Poly;
    class PolyNode
    {
    friend Poly;
    float Coef;
    int Pow;
    };
    class Poly
    {
    int n;
    PolyNode Data[Max];
    public:
    void equal(Poly a,Poly b);
    void moshtaghpoly(void);
    void search(void);
    void SortPoly(void);
    void ReadPoly(void);
    void WritePoly(void);
    void AddPoly(Poly a,Poly b);
    void SubtractPoly(Poly a,Poly b);
    };
    void Poly::SortPoly(void)
    {
    int i,j;
    PolyNode item;
    for(i=n-1;i>0;i--)
    for(j=0;j<i;j++)
    if(Data[j].Pow<Data[j+1].Pow)
    {
    item=Data[j];
    Data[j]=Data[j+1];
    Data[j+1]=item;
    }
    while(i<n-1)
    if(Data.Pow==Data[i+1].Pow)
    {
    Data.Coef+=Data[i+1].Coef;
    for(j=i+1;j<n-1;j++)Data[j]=Data[j+1];
    n--;
    }else i++;
    }
    void Poly::ReadPoly(void)
    {
    int i;
    cout<<"\nPlease enter parts of poly : ";
    cin>>n;
    cout<<"\nPlease enter Polynomial : \n\n";
    for(i=0;i<n;i++)
    {
    cin>>Data.Coef;
    cout<<" x^";
    cin>>Data.Pow;
    cout<<" +"<<endl;
    }
    }
    void Poly::WritePoly(void)
    {
    int i;
    cout<<"\n";
    for(i=0;i<n;i++)cout<<Data.Coef<<"X^"<<Data.Pow<<" + ";
    }
    void Poly::AddPoly(Poly a,Poly b)
    {
    int i,j,k;
    i=j=k=0;
    while(i<a.n&&j<b.n)
    {
    if(a.Data.Pow>b.Data[j].Pow)
    {
    Data[k].Coef=a.Data.Coef;
    Data[k++].Pow=a.Data[i++].Pow;
    }
    else if(a.Data.Pow<b.Data[j].Pow)
    {
    Data[k].Coef=b.Data[j].Coef;
    Data[k++].Pow=b.Data[j++].Pow;
    }
    else if(a.Data.Coef+b.Data[j].Coef)
    {
    Data[k].Coef=a.Data.Coef+b.Data[j].Coef;
    Data[k++].Pow=a.Data[i++].Pow;
    j++;
    }
    else
    {
    i++;
    j++;
    }
    }
    while(i<a.n)
    {
    Data[k].Coef=a.Data.Coef;
    Data[k++].Pow=a.Data[i++].Pow;
    }
    while(j<b.n)
    {
    Data[k].Coef=b.Data[j].Coef;
    Data[k++].Pow=b.Data[j++].Pow;
    }
    n=k;
    }
    void Poly::SubtractPoly(Poly a,Poly b)
    {
    int i,j,k;
    i=j=k=0;
    while(i<a.n&&j<b.n)
    {
    if(a.Data.Pow>b.Data[j].Pow)
    {
    Data[k].Coef=a.Data.Coef;
    Data[k++].Pow=a.Data[i++].Pow;
    }
    else if(a.Data.Pow<b.Data[j].Pow)
    {
    Data[k].Coef=b.Data[j].Coef;
    Data[k++].Pow=b.Data[j++].Pow;
    }
    else if(a.Data.Coef-b.Data[j].Coef)
    {
    Data[k].Coef=a.Data.Coef-b.Data[j].Coef;
    Data[k++].Pow=a.Data[i++].Pow;
    j++;
    }
    else
    {
    i++;
    j++;
    }
    }
    while(i<a.n)
    {
    Data[k].Coef=a.Data.Coef;
    Data[k++].Pow=a.Data[i++].Pow;
    }
    while(j<b.n)
    {
    Data[k].Coef=b.Data[j].Coef;
    Data[k++].Pow=b.Data[j++].Pow;
    }
    n=k;
    }
    void Poly::moshtaghpoly(void){
    int i;
    for(i=0;i<n;++i){
    Data.Coef*=Data.Pow;
    Data[i].Pow--;}}
    void Poly::search(void){
    int x;
    cout<<"\nenter a number for search:";
    cin>>x;
    for(int i=0;i<n;++i){
    if(x==Data[i].Coef)
    cout<<"\nThe number founded!";
    break;}
    cout<<"\nThe number not found";
    }
    void Poly::equal(Poly a,Poly b){
    if(a.n!=b.n)
    cout<<"not equal";
    for(int i=0;i<a.n;++i)
    if(a.Data[i].Pow!=b.Data[i].Pow||a.Data[i].Coef!=b.Data[i].Coef)
    cout<<"equql!";
    else
    cout<<"not equal!";}

    void main(void)
    {
    Poly a,b,c;
    char Sign;
    a.ReadPoly();
    a.SortPoly();
    cout<<"\nPlease enter sign(+,-) : ";
    cin>>Sign;
    b.ReadPoly();
    b.SortPoly();
    b=a;
    b.WritePoly();
    switch(Sign)
    {
    case'+':
    c.AddPoly(a,b);
    break;
    case'-':
    c.SubtractPoly(a,b);
    break;}
    c.SortPoly();
    cout<<"\n\nAnswer Is : \n";
    c.WritePoly();
    a.moshtaghpoly();
    cout<<"\nmoshtaghe a is:";
    a.WritePoly();
    cout<<"in a:";
    a.search();
    getche();
    }[/i][/i][/i][/i][/i][/i]
     
  8. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    برنامه ای که تمام ارقام یک عدد را چاپ میکند
    کد:

    #include<iostream.h>
    int main()
    {
    int n,b;
    cin>>n;
    while(n!=0)
    {
    b=n%10;
    n=n/10;
    cout<<b<<"\t";
    }
    return 0;
    }
     
  9. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    برنامه ای که با دریافت یک عدد چند رقمی حاصل جمع اعداد را چاپ می کند
    کد:

    #include<iostream.h>
    int main()
    {
    int n,b,sum=0;
    cin>>n;
    while(n!=0)
    {
    b=n%10;
    sum+=b;
    n=n/10;
    }
    cout<<"sum = "<<sum;

    return 0;
    }
     
  10. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : سورس های نوشته شده به زبان C و ++C

    برنامه ای که 10 عدد از کاربر دریافت میکند چنانچه تعداد اعدادی که حاصل جمع ارقام آنها بیشتر از 20 باشد را چاپ کند
    کد:

    #include<iostream.h>
    int main()
    {
    int i=0,n,c=0,sum=0,b;
    while(i!=10)
    {
    cin>>n;
    while(n!=0)
    {
    b=n%10;
    sum+=b;
    n=n/10;
    }
    if(sum>20)
    {c++;sum=0;}
    i++;
    }
    cout<<"Tedad= "<<c;


    return 0;
    }