پرسش و پاسخ در زبانهای برنامه نویسی C

A.S.Roma

عضو جدید
کاربر ممتاز
:cool:تابعي بنويسيد كه دو رشته را گرفته و بررسي كند آيا رشته دوم در داخل رشته اول هست يا نه؟ اگر هست شماره
انديسي از رشته اول را بدهد كه رشته دوم از آنجا شروع مي شود اگر هم نيست 1- برگرداند. مثلا:
alireza , ali == 0
username , ern== 2
alimohammad , Zahra == -1
جایزه هم داره ؟! :D
کد:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

int StringEqual(char *s1,char*s2)
{
    if(strlen(s1) != strlen(s2))
        return 0;
    for(int i=0;i<strlen(s1);i++)
    {
        if(s1[i] != s2[i])
            return 0;
    }
    return 1;
}

void StringCopy(char *result,char *s,int index , int offset)
{
    int j=0;
    for(int i=index ;i<index+offset ;i++)
    {
        result[j] = s[i];
        j++;
    }
    result[j] = '\0';

}

int SubString(char *s1 , char *s2)
{
    int flag = 0;
    for(int i=0;i<strlen(s1);i++)
    {
        if(s1[i] == s2[0])
        {
            char *s;
            s = (char *) malloc(strlen(s2)+1);
            StringCopy(s,s1,i,strlen(s2));
            if(StringEqual(s,s2))
            {
                free(s);
                return i;
            }
            free(s);
        }
    }
    return -1;
}


void main()
{
    char s[] = "hello world";
    char t[] = "world";
    int n = SubString(s,t);
    clrscr();
    printf("String 1 = \"%s\"\n",s);
    printf("String 2 = \"%s\"\n",t);
    printf("%d",n);
    getch();
}
 

123شسی

عضو جدید
من سر بار گذاری رو بلد نیستم و باید یه برنامه بنویسم مثل برنامه جمع ساده که با دادن دو ورودی (عدد ) خروجی ،مجموع دو ورودی است اما اینبار باید به جای دو عدد دو رشته را بگیرد و خروجی یک رشته باشد که توسط عملگر جمع به هم الحاق شده اند
 

A.S.Roma

عضو جدید
کاربر ممتاز

s_aa

کاربر فعال تالار اسلام و قرآن ,
کاربر ممتاز
سربارگذاری

سربارگذاری

من سر بار گذاری رو بلد نیستم و باید یه برنامه بنویسم مثل برنامه جمع ساده که با دادن دو ورودی (عدد ) خروجی ،مجموع دو ورودی است اما اینبار باید به جای دو عدد دو رشته را بگیرد و خروجی یک رشته باشد که توسط عملگر جمع به هم الحاق شده اند
با سلام
اگه شما کار با ساختارها یا کلاس ها رو بلد باشین و اینکه چطور یه تابع رو داخل کلاس ها و یا ساختار ها برای یه عمل خاص معرفی کنین دیگه سربارگذاری کاری نداره چون تو ی سربارگذاری دقییقا یعنی تعریف یه تابع خاص برای مثلا عمل جمع
اینکه یه تابع تعریف کنی به نام مثل ا جمع و توش بگیید که مثلا دو تا عدد رو جمع کنه...
و تو ی بدنه ی اصلی برنامه دو عدد ورودی یا دو رشته ی ورود ی رو ارجاع بدین به همین تابع جمع....این یعنی این که شما عملگر جمع رو سربارگذاری کردین...
امیدوارم منظور رو درست فهمیده و درست توضیح داده باشم
موفق باشین
یاحق..
 

soheila.

عضو جدید
++c

++c

بچه ها کی میتونه کمکم کنه . شکل های مختلف نوشتن حلقه for در c چیا هستن ؟ میگن 20حالت داره؟؟
ممنون میشم کمکم کنید

http://www.www.www.iran-eng.ir/images/icons/graduated.gif چندتا هم برنامه میخوام
برنامه ای که جدول ضرب 8*8 را چاپ کند

برنامه ای که مثلث خیام را تا 8سطر چاپ کند

برنامه ای که 30عدد یک رقمی را گرفته و در نهایت چاپ کند که از هر عدد چه تعداد وارد شده است

با تشکر
 

A.S.Roma

عضو جدید
کاربر ممتاز
بچه ها کی میتونه کمکم کنه . شکل های مختلف نوشتن حلقه for در c چیا هستن ؟ میگن 20حالت داره؟؟
ممنون میشم کمکم کنید

http://www.www.www.iran-eng.ir/images/icons/graduated.gif چندتا هم برنامه میخوام
برنامه ای که جدول ضرب 8*8 را چاپ کند

برنامه ای که مثلث خیام را تا 8سطر چاپ کند

برنامه ای که 30عدد یک رقمی را گرفته و در نهایت چاپ کند که از هر عدد چه تعداد وارد شده است

با تشکر
با سلام

برنامه اولتون :
کد:
#include <stdio.h>
#include <conio.h>



void main()
{
    for(int i=1;i<=8;i++)
    {
        for(int j=1;j<=8;j++)
        {
            printf("%3d",i*j);
        }
        printf("\n");
    }
    getch();
}
برنامه دوم : برنامه مثلث خیام

برنامه سوم :
کد:
#include <stdio.h>
#include <conio.h>

#define     SIZE        20

int Counter(int a[],int length,int x)
{
    int counter = 0;
    for(int i=0;i<length;i++)
    {
        if(a[i] == x)
            counter++;
    }
    return counter;
}

int IsRepeated(int a[],int len,int x ,int index)
{
    for(int i=0;i<index;i++)
    {
        if(a[i] == x)
            return 1;
    }
    return 0;
}


void main()
{
    int temp;
    int counter;
    int num[SIZE];
    int selected[SIZE];
    printf("Enter 20 Number Seperated By Enter\n");
    for(int i=0;i<SIZE;i++)
    {
        printf("Number %d :",i+1);
        scanf("%d",&num[i]);
    }
    for(i=0;i<SIZE;i++)
    {
        if(!IsRepeated(num,SIZE,num[i],i))
        {
        printf("%2d Repeated %d Times.\n",num[i],Counter(num,SIZE,num[i]));
        }

    }
    getch();
}
فراموش نکنید که سر امتحان خودتون باید بنویسید :que:
 

ziba_vilivaiz

عضو جدید
ASM مسابقه

ASM مسابقه

سلام
من نیاز به یک سری سوال ++cوساختمان داده دارم(در حد کارشناسی ارشد)
قراره توی دانشگاهمون برای اولین بار مسابقه ی ASMبرگزار بشه
ممنون میشم که کمکم کنید.
 

asrar1900

عضو جدید
سلام من برای امتحان میان ترم دانشگاه به پاسخ سوالات acm اهتیاج دارم لطفا اگر دارید برام بفرستید.
 

ainaz1988

عضو جدید
خطا در اجراي برنامه

خطا در اجراي برنامه

سلام
يه سوال دارم خواهش مي كنم كمك كنيد
من و دوستم مشتركا روي يك برنامه كار مي كنيم وقتي برنامه رو رو سيستم خودم كپي مي كنم موقع اجرا پيام خطاي زيرو مي ده درضمن نمي تونم هيچ تغييري رو پروژه بدم چون بعد از اجرا همون اجراي اولو نشون مي ده

برنامه كريستال ريپورت و بانك اكسس داره
unable to find manifest signing certificate in the certificate store
لطفا راهنماييم كنيد
 

MaSoUd-5

عضو جدید
ببینید بدردتون میخوره یا نه!

کد:
http://barnamenevis.org/forum/showthread.php?p=915668

کد:
http://oopc.mihanblog.com/post/2
 

RIG

متخصص C#.net
کمک سریع یا فوری فقط زود و ممنون

کمک سریع یا فوری فقط زود و ممنون

1- مهندسان با این #C چه شکلی میشه یه برنامه رو setup کرد بعدش اگه بخام رو یه ویندوز ویستا نصب کنمش مشکل نگیره سازگاره؟
 
من یک پروژه برای برنامه نویسی پیشرفته میخوام آماده کنم لطفا اگر کسی میتونه منو کمک کنه ممنون:confused:
پروژه اینه:
با استفاده از مفاهیم کلاس و شیئ گرایی برنامه ای بنویسید که تعداد گره های یک درخت دودویی و فرزندان آن را دریافت کرده و درخت را بسازد .:)با زبان c++
 

kamran69

عضو جدید
اول یک switch ایجاد کن که اگه + وارد شد کار زیر را انجام دهد .
به جایchar از string استفاده کن باسرفایل <string>
اگه اسم اولی s1 و دومی s2 باشد دستور زیر در سوییچ اجرا شود
s1.push_back(s2(
یا
s1+=s2
 

setare_fery

عضو جدید
راهنمايي كنيد

راهنمايي كنيد

براي بازي توپ و راكتو بازي شليك به پرنده متحرك و بارش برف در صفحه ميشه راهنمايي كنيد؟
 

Erfan_K

عضو جدید
کاربر ممتاز
این کد برنامه ی بارش بارون هست که توسط یکی از دوستان برنامه نویس نوشته شده و توی TC اجرا میشه :

کد:
/*
 *    Developeder:     Vivek Kumar (Delhi, India)
 *    Email:        vivek_kumar_bt@yah00.co.in
 *    Last Update:    Nov 29, 2008
 *
 *    This is simple program to demostrate MATRIX RAIN
 */    

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

#define MAXMAT 50
#define TEXTSTY 0
#define TEXTSZ 1
#define FLUK 1
#define SPEED 1
#define XGAP 1
#define YGAP 1
#define COLORS 4
#define TAILCL 8
/*1->Green 2->Red 3->Blue*/
int MATCOLOR=1;


int XPOSS[200];
int YPOSS[200];
void GetXYPOSS();
void grayscale(int in=4);

class mat
{
 public:
  int X,Y,S,ec,tc;
  char ch;
  int MYFLUK;
 mat();
 void setmat(int x=0,int s=1000);
 void drawmat();
 void erasemat();
 void changechar();
 void move();
 ~mat();
};

mat::mat()
{
 X=0;
 Y=0;
 S=1000;
 ch=random(255);
}

void mat::setmat(int x,int s)
{
 //int color=random(3);
 X=x;
 S=s;
 Y=0;
 MYFLUK=random(FLUK);
 if(MYFLUK==0||MYFLUK==1)
  MYFLUK=2;
 ec=random(COLORS)+1;
 tc=TAILCL+random(TAILCL);

 settextstyle(TEXTSTY,0,TEXTSZ);
 setusercharsize(4, 3, 4,3 );
 ch=random(255);
}

void mat::drawmat()
{
 char c[2];
 c[1]='\0';
 c[0]=ch;
 setfillstyle(1,0);
 bar(X,Y,X+textwidth("W"),Y+textheight("W"));
 setcolor(tc);
 outtextxy(X,Y,c);
 //delay(1);

}


void mat::erasemat()
{
 char c[2];
 c[1]='\0';
 c[0]=ch;
 setfillstyle(1,0);
 bar(X,Y-textheight("W"),X+textwidth("W"),Y);
 setcolor(ec);
 outtextxy(X,Y-textheight("W"),c);
}
void mat::changechar()
{
 ch=1+random(255);
}

void mat::move()
{
 int y=YPOSS[random(480/textheight("W"))];
 int i;
 drawmat();
 delay(S);
 erasemat();
 changechar();
 setfillstyle(1,0);
 bar(X,y,X+textwidth("W")+XGAP,y+textheight("W")+YGAP);//+textwidth("W")/2);
 Y=Y+(random(MYFLUK))*textheight("W")+1;
 for(i=1;i<2;i++)
 {
  if(Y>getmaxy()+textheight("W"))
  {
   setmat(XPOSS[random(640/textwidth("W"))],random(SPEED));
  }
 }
}

mat::~mat()
{
}

class mymatclass
{
 private:
  mat m[MAXMAT];
 public:
  mymatclass();
  void startall();
  void moveall();
  ~mymatclass();
};

mymatclass::mymatclass()
{
}
void mymatclass::startall()
{
 int i;
 for(i=0;i<MAXMAT;i++)
 {
  m[i].setmat(XPOSS[random(640/textwidth("W"))],random(SPEED));
 }
}

void mymatclass::moveall()
{
 int i;
 for(i=0;i<MAXMAT;i++)
 {
  m[i].move();
 }
}

mymatclass::~mymatclass()
{
}

int main(void)
{
 int gd=DETECT,gm;
 struct time t;
 int mydelay=5;
 int cursec;
 initgraph(&gd,&gm,"c:\\tc\\bgi");
 //settextstyle(TEXTSTY,0,TEXTSZ);

 grayscale();
 GetXYPOSS();
 gettime(&t);

 cursec=t.ti_sec;
 mymatclass mc;
 randomize();
 mc.startall();

 while(!kbhit())
 {
  gettime(&t);                   //If you include this code the
  if(t.ti_sec==0)                  //
   cursec=0;                       //
  if((t.ti_sec-cursec)==mydelay)   //
  {                                //color of the matrix rain will
    MATCOLOR=random(4);            //
    grayscale(random(4));          //
    cursec=t.ti_sec;               //change randomly
  }
  mc.moveall();
 }
  closegraph();
  restorecrtmode();
  return (0);
}

void GetXYPOSS()
{
 int i;
 XPOSS[0]=YPOSS[0]=0;
 for(i=1;i<640/textwidth("W");i++)
 {
  XPOSS[i]=XPOSS[i-1]+textwidth("W")+XGAP;//+textwidth("W")/2;
 }
 for(i=1;i<480/textheight("W");i++)
 {
  YPOSS[i]=YPOSS[i-1]+textheight("W")+YGAP;//+textwidth("W")/2;
 }
}

void grayscale(int in)
{
  int i;
  struct palettetype pal;
  getpalette(&pal);
  if(MATCOLOR==1)
  {
   for (i=0; i<pal.size ;i++)
   setrgbpalette(pal.colors[i], i*2, i*in, i);
  }
  if(MATCOLOR==2)
  {
   for (i=0; i<pal.size ;i++)
   setrgbpalette(pal.colors[i], i*in, i, i);
  }
  if(MATCOLOR==3)
  {
   for (i=0; i<pal.size ;i++)
   setrgbpalette(pal.colors[i], i, i, i*in);
  }
}
 

golchehreok

عضو جدید
سلام دوستان به مشکل خوردم Turbo C++ 3.0 Dos

سلام دوستان به مشکل خوردم Turbo C++ 3.0 Dos

مشکل حل شد
ممنونم.....

سلام دوست عزیز
منم همین مشکل رو دارم ویندوزمم 32 بيتيه با برنامه /16-bit-MS-DOS-Subsystem-Error-Quick-Fix
هم autoexec.nt, config.nt رو fix کردم ولی جواب نداد و هر برنامه ای که مینویسم بعد از error گیری و run
کردن از محیط برنامه Turbo C++ خارج میشه لطفا راهنماییم کنید واقا کلافم کرده
برنامه هم رو یه سیستم دیگه نصب کردم هیچ ایرادی نداشت
 

golchehreok

عضو جدید
دوستان ویندوزمم عوض کردم بازم مشکل حل نشد ممکنه از رم یا سی پی یو باشه؟
لطفا کمکم کنید
 

mehdi562

عضو جدید
کمک فوری

کمک فوری

ببخشید من توی برنامه نویسی مبتدی هستم.
برا اینکه یه عدد رو در زبان c به توان رسوند باید از چه نمادی استفاده کرد؟:cry::cry::cry::cry:
 

hesamshimi

عضو جدید
در خواست فوری

در خواست فوری

سلام عزیزان
برنامه ای به زبان سی پلاس پلاس میخام که دو عدد 40 رقمی رو بگیره و 4 عمل اصلی را بر روی آنها انجام بده ..
خیلی فوری
ممنون
 

strange

اخراجی موقت
درخواست برنامه

درخواست برنامه

سلام دوستان.اگه كسي ميتونه لطفا اين برنامه رو براي من بنويسه.تو زبان c

برنامه ایی بنویسید که عددی را گرفته مغلوب آن را در خروجی چاپ کند. به طور مثال اگر 6194 وارد شود باید 4916 چاپ شود
 

A.S.Roma

عضو جدید
کاربر ممتاز
کد:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>

void main()
{
    int x;

    clrscr();
    cin >> x;
    cout <<"Reverse = ";
    while(x != 0)
    {
        cout << x%10;
        x = x/10;
    }
    getch();
}
 
  • Like
واکنش ها: efhc
بالا