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

ali.samavi

عضو جدید
من سوال داشتم درمورد علامت جمع توی کروشه قبل وبعد ازI



for
(int i=0 ; i< intData.Length ; i++)

{

int




j = intData;


Console.WriteLine("intData[" + i + "]=" + j);

یه سواله دیگه هم داشتم درمورد this چه موقع استفاه می شه

namespace ex23

{
// a simple class to store in the array
public class








Employee

{


public




Employee(int empID)

{

this




.empID = empID;

}​


[/quote]
سلام
علامت جمع برای متصل کردن دومتغیرعددی یا رشته ای، به صورت رشته ای است
وبرای نمایش بهتر در خروجی این تابع استفاده شده
مثلا اگر iبرابر 2و j برابر 3باشد درخروجی داریم :
3=[2] inData
موفق باشید
 
آخرین ویرایش:

Narciss

عضو جدید
من مي خواستم جوابشو بدم.اما از دوستان ديگر ممنونم كه همكاري كردند. مخصوصا .ali آقا كه توضيح كاملي دادند. :gol::gol:
 

ali.samavi

عضو جدید
اگر i برابر2 و j برابر 3 باشد درخروجی داریم :
3=[2] inData
 
آخرین ویرایش:

ali.samavi

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

راهنمایی

برای درک بیشتر به راهنمای علامت + در سی شارپ مراجعه می توانید کنید
 

omid.a

عضو جدید
کسی میتونه این کد رو واسم به زبانه #C برگردونه

کسی میتونه این کد رو واسم به زبانه #C برگردونه

سلام به کاربران و اساتید محترم.
میخواستم ببینم کسی میتونه این کد رو واسم به زبانه #C برگردونه.
این کد بازی minesweeper به زبان ++C هستش میخوام به زبان #C باشه خیلی واسم مهمه لطفا اگر ممکنه کمکم کنید.
ممنون از شما.
کد:
//written by soheil setayeshi
//www.codecorona.com
#include <iostream>
#include <time.h>
#include <vector>
using namespace std;
class mine{
      friend class sweeper;     
      bool bomb;
      bool open;
      bool pass;
      int num;
      };
//****************************************************
class sweeper{
      public:
             sweeper(int);
             void play();
      private:
              void cleaner(int,int);
              void display();
              void lose();
              bool checkwin();
              mine **map;
              int length;
              int width;
              int mines;
              };
//****************************************************
sweeper :: sweeper(int difficulty)
{
        int i,j,k,l,x,n;
        vector<int> v;
        srand(time(0));
        switch (difficulty)
        {
               case 1: width=9;
                       length=9;
                       mines=10;
                       break;
               case 2: width=16;
                       length=16;
                       mines=40;
                       break;
               case 3: width=16;
                       length=32;
                       mines=99;
                       break;
               default:exit(0);
        }
        map=new mine* [width];
        for (i=0;i<width;i++)
            map[i]=new mine [length];
        for (i=0;i<width;i++)
            for (j=0;j<length;j++)
            {
                map[i][j].num=0;
                map[i][j].bomb=false;
                map[i][j].open=false;
                map[i][j].pass=false;
            }
        n=width*length;
        for (i=0;i<n;i++)
            v.push_back(i);
        for (i=0;i<mines;i++)
        {
            x=rand()%n--;
            map[v[x]/length][v[x]%length].bomb=true;
            v.erase(v.begin()+x);
        }
        for (i=0;i<width;i++)
            for (j=0;j<length;j++)
                for (k=i-1;k<=i+1;k++)
                    for (l=j-1;l<=j+1;l++)
                        if (k>-1 && k<width && l>-1 && l<length)
                           if (map[k][l].bomb) 
                              (map[i][j].num)++;
                           
        
}
//****************************************************
void sweeper :: display()
{
     int i,j;
     cout<<"  ";
     for (i=0;i<length;i++)
     {
         cout<<i+1;
         if (i+1<10) cout<<' ';
     }
     cout<<"\n";
     for (i=0;i<width;i++)
     {
         if (i+1<10) cout<<i+1<<' ';
         else cout<<i+1;
         for (j=0;j<length;j++)
             if (map[i][j].open)
                if (map[i][j].bomb)
                   cout<<"* ";
                else if (!map[i][j].num)
                     cout<<"  ";
                else
                    cout<<map[i][j].num<<" ";
             else
                 cout<<"# ";
         cout<<"\n";
     }
     cout<<endl;
}
//****************************************************
void sweeper::play()
{
     int x,y;
     while(1)
     {
             system("cls");
             display();
             while(1)
             {
                     cout<<"FROM:\n";
                     cout<<"X:";
                     cin>>x;
                     x--;
                     if (x<0 || x>=width)
                     {
                        cout<<'\a';
                        system("cls");
                        display();
                        continue;
                     }
                     cout<<"Y:";
                     cin>>y;
                     y--;
                     if (y<0 || y>=length)
                     {
                        cout<<'\a';
                        system("cls");
                        display();
                        continue;
                     }
                     if (map[x][y].open)
                     {
                        cout<<'\a';
                        system("cls");
                        display();
                        continue;
                     }
                     break;
             }
             if (map[x][y].bomb)
                lose();
             else
             {
                 map[x][y].open=true;
                 cleaner(x,y);
                 checkwin();
             }
     }
}  
//****************************************************
void sweeper::lose()
{
     int i,j;
     cout<<"\a\a";
     for (i=0;i<width;i++)
     {
         if (length == 32) cout<<"\t";
         else if (length == 16) cout<<"\t\t\t";
         else cout<<"\t\t\t\t";
         for (j=0;j<length;j++)
             if (map[i][j].open)
                cout<<map[i][j].num<<' ';
             else if (map[i][j].bomb)
                  cout<<"* ";
             else
                 cout<<"# ";
         cout<<endl;
     }
     cout<<"\n                              GAME OVER ... YOU LOSE\n";
     system("pause");
     exit(0);
}
//****************************************************
bool sweeper::checkwin()
{
     int i,j,n=width*length-mines;
     for (i=0;i<width;i++)
         for (j=0;j<length;j++)
             if (map[i][j].open)
                n--;
     if (!n)
     {
        cout<<"\a\a\a";
        for (i=0;i<width;i++)
     {
         if (length == 32) cout<<"\t";
         else if (length == 16) cout<<"\t\t\t";
         else cout<<"\t\t\t\t";
         for (j=0;j<length;j++)
             if (map[i][j].open)
                cout<<map[i][j].num<<' ';
             else
                  cout<<"* ";
         cout<<endl;
     }
        cout<<"\n                           GAME OVER ... YOU WIN!!!!\n";
        system("pause");
        exit(0);
     }
}             
//****************************************************
void sweeper::cleaner(int x,int y)
{
     if (x>=0 && y>=0 && x<width && y<length && map[x][y].num == 0 && map[x][y].pass == false)
     {
        int i,j;
        map[x][y].pass=true;
        for (i=x-1;i<=x+1;i++)
            for (j=y-1;j<=y+1;j++)
                if (i>=0 && j>=0 && i<width && j<length)
                   map[i][j].open=true;
        cleaner(x-1,y-1);//up left
        cleaner(x-1,y);//up
        cleaner(x-1,y+1);//up right
        cleaner(x,y-1);//left
        cleaner(x,y+1);//right
        cleaner(x+1,y-1);//down left
        cleaner(x+1,y);//down
        cleaner(x+1,y+1);//down right
     }
}   
//****************************************************
int main()
{
    system("color 80");
    int state;
    cout << "Select difficulty mode:\n\n";
    cout << "1 ) Easy : With 9*9 map & 10 mine\n\n";
    cout << "2 ) Medium : With 16*16 map & 40 mine\n\n";
    cout << "3 ) Difficult : With 16*32 map & 99 mine\n\n";
    cout << "or type another key to quit\n";
    cin>>state;
    sweeper game(state);
    game.play();
    system("pause");
    return 0;
}
 

mohamaddjasd

عضو جدید
کمک فوری فوری در مورد حل کردن این مثال به زبان c

کمک فوری فوری در مورد حل کردن این مثال به زبان c

:gol::cry:برنامه ای بنویسیدکه کلیه اعداد سه رقمی که برابر با مجموع مکعبات ارقامشان هستند را پیدا کرده و چاپ نماید ؟:cry::gol:
 

yamaha R6

کاربر حرفه ای
کاربر ممتاز
#include <conio.h>
#include<stdio.h>
main()
{
clrscr();
int t,r,j;
for(int i=100; i<1000; i++)
{
t =0;
for(j=i; j>0; j/=10)
{
r = j % 10;
t += (r * r * r);
}
if ( t== i)
printf("\n :%i",i);

}
getch();
}

برو حالشو ببر .
 

saba-me

عضو جدید
كمكم كنيد اصلا وقت ندارم

كمكم كنيد اصلا وقت ندارم

:cry::cry:سلام:gol:
برنامه اي به زبان ++cكه يك عدد را از ورودي گرفته و فاكتوريل اعداد 1 تا n را در خروجي نمايش دهد::cry::cry::cry::cry:
ممنون ميشم اگه كمكم كنيد!
 

BigMasoud

اخراجی موقت
:cry::cry:سلام:gol:
برنامه اي به زبان ++cكه يك عدد را از ورودي گرفته و فاكتوريل اعداد 1 تا n را در خروجي نمايش دهد::cry::cry::cry::cry:
ممنون ميشم اگه كمكم كنيد!

سلام
اين كد c :

#include <stdio.h>
#include <conio.h>
long long int factoriel (int n) {
if (n==1 || n==0) {
return 1;
}
else {
return n*factoriel (n-1);
}
}
int main () {
int n;
long long int result[100];
printf("Enter n: \n");
scanf("%d",&n);
for (int i=1;i<=n;i++) {
printf("The factoriel of %d is: %ld\n",i,factoriel(i));
}
return 0;
}


اينم ويژوال كه البته اينو اجرا نكردم خودم:

#include <iostream>
using namespace std;
long long int factoriel(int n) {
if (n==1 || n==0) return 1;
else return n*factoriel (n-1);
}

int main() {
int n;
long long int result[100];
cin>>n;
for (int i=1;i<=n;i++) {
cout<<factoriel(i)<<endl;
}
}
 

mojtaba001

عضو جدید
foriiiiiiiiiiiiiiiiiiiiiiiiiiiiiii plz

foriiiiiiiiiiiiiiiiiiiiiiiiiiiiiii plz

salam khobid?
man mojtaba tehran hastam
daneshjoya namrafzar
mishe eftekhar bedii o behem komaki koni
e form to eki az mohithaya barnameh nevesi mikham keitemhaya nam o nam khanevadegi o ghaymat o .... mesl e form taxi service ke beshe azash prit gereft o nam item ro to pirint neshon nadeh faghat item haee ke por mishe ro neshon bedeh to print mishe komakam koni?
mt_1400 ; id man
tel man : 09354118814​
 

bigstar_h

عضو جدید
بازی تحت c#.net باید بنویسم

بازی تحت c#.net باید بنویسم

یه بازی که دو نفر در لن بتونن با هم بازی کنن.یه چیزی مثل چت منتها از command استفاده می کنه.کسی می تونه کمکم کنه؟وقتم کمه.اسم بازی reversi یا othello هست.خدا عمرتون بده!!ان شاالله بری کربلا کمک کنید!!!:D
 

fandak

عضو جدید

سورشهم تو ضمیمه
 

پیوست ها

  • Reversi_src.zip
    268.6 کیلوبایت · بازدیدها: 0

fandak

عضو جدید


سورسشو واست صمیمه کردم
 

پیوست ها

  • Minesweeper_code.zip
    220.8 کیلوبایت · بازدیدها: 0

myounesin

عضو جدید
سلام
شوخی میکنی!
اینجوری باید استفاده کنی
Console.WriteLine("intData[" + i.ToString() + "]=" + j.ToString());
 

!...

عضو جدید
کاربر ممتاز
سلام دوست عزیز!
مهندسا خسیس نیستن! مخصوصا کامپیوتریا! مثلا من همین دیشب عضو شدم!
و الآن تایپیک رو دیدم...!
فکر کنم قطعه کدی که گذاشتی از e-booke وحید نصیری هستش!اونم خوب توضیح میده! این نکات رو معمولا لابلای نکات میگه!
ولی در کل:
در مورد سوال اولت:
تو #C چون صطح پایینتر هستش اگه بخواییم همچین کاری کنیم با مشکل بر می خوریم ولی گاهی انجام میدن! مثل مثال شما!
تو ویژوال بیسیک با علامت & می تونیم هر دو رشته یا عدد یا... رو به هم متصل و چاپ کنیم! (چون صطحش بالاتره, باعث بروز خطا هم نمیشه!)
گذاشتن + بین مقادیر و رشته ها برای جلو گیری از نوشتن چند باره ی write هستش!
اگر از + استفاده نمی کردیم باید به ازای هر + یه write می نوشتیم! که...!

همونطور که دوستان گفتن با این کار رشته با توالیی که نوشته شده چاپ میشه! ابتدا متن تو " " بعدش i بعدش متن و در آخر هم j چاپ میشه!
بهترین کار استفاده از ( , , ," {1} ,{0} ") هستش که تو متن اولی متن های مربوط به هر عدد رو می تونیم مشخص کنیم و یک متن تخصیص بدیم! که با این کار می تونیم از اور لود جلو گیری کنیم و در عین حال, نیازی به تبدیل مقادیر به رشته نیز نداریم!
مثلا رشته ی شما به این شکل نوشته میشه:

به این شکل: ;(Console.WriteLin ("intData[ {0}, ]= {1}" ,i,j
که همون کار بالا رو انجام میده!

یا حق...!
 

!...

عضو جدید
کاربر ممتاز
در مورد this هم به شکل ساده بخوام بگم, می تونی اسم کلاسی که توش هستی رو به جای this بنویسی!
مثلا this.empID یعنی شیئ empID از کلاسی که توش هستیم!(مثلا اینجا شیئ empID از کلاس Emloyee یعنی در واقع همان Employee.empID هستش!!!!)
ما از this برای بالا رفتن سرعت و کیفیت برنامه استفاده میکنیم! تا فراخوانی ها به حد اقل برسند!(این قضیه وقتی برنامه خیلی بزرگ باشه و فراخوانی ها زیاد بشن, خودشو نشون میده!)

امیدوارم تونسته باشد کمک کرده باشم!

یا حق...!
 

mortaza5

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

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

سلام

یک تکلیف زبان c داریم که هر کاریش کی کنم نمی تونم جواب بگیرم.

می خواهیم برنامه ای بنویسیم که عبارت زیر را چاپ کنه:

1
1 2 3 2 1
1 2 3 4 5 4 3 2 1​

* بطوریکه بین هر عدد 5 کاراکتر فاصله باشد.

یه برنامه نوشتیم اما یک طرف را بیشتر فاصله نمیده.(یعنی در حقیقت اصلا" فاصله ها را درست نمیده)


لطفا" اگر کسی میتونه لطفا" کمک کنه
 

shahab85

عضو جدید
سلام....
اينم برنامه اي كه خواسته بودي...:)
فقط فاصله نميده بين اعداد...اونشم كاري نداره خودت ميتوني راحت درست كني....
ولي اگر قرار باشه بين هر دو تا عد 5 كاراكتر فاصله باشه از خط چهارم ببعد بهم ميريزه شكل مثلثت...
موفق باشي....;)
 

پیوست ها

  • shb.zip
    356 بایت · بازدیدها: 0

hamid19395

عضو جدید
کمک در این 3 برنامه

کمک در این 3 برنامه

سلام
تو این دو برنامه اگه میشه به من کمک کنید
1-برنامه ای بنویسید که 50 عدد را خوانده وبزرگترین را پیدا کندو(برنامه ای بنویسید که تعدادی عدد را خوانده وبزرگترین را پیدا کند)
2-برنامه ای بنویسید که تعدادی عدد گرفته و اعداد مثبت و منفی آن را مشخص کند
3-برنامه ای بنویسید که 10 عدد را در آرایه ای خوانده سپس آنها را در آرایه ای دیگر به طور معکوس قرار داده و هر دو آرایه را در خروجی چاپ کند.
*برنامه به زبان Cباشد*
ممنون
 
آخرین ویرایش:

!...

عضو جدید
کاربر ممتاز
سلام دوست عزیز!
برنامه ها خیلی راحت هستن!
الگوریتم رو بهتون میگم!و خودتون بنویسین!!!
دوتا برنامه ی اول, باید یه حلقه درست کنین!!!
و تو حلقه اعداد رو بگیرین, و وقایسه کنین!!!
و یه متغییر به عنوان بزرگترین بذارین! و با مقایسه ی عدد با عدد داخل متغییر, اگه بزرگتر از عدد داخل متغییر بود, عدد جدید رو جایگزین قبلی تو متغییر کن! تا آخر...!
و دومی هم هر هدد رو با صفر مقایسه کن! که بزرگتر از صفر یا کوچکتر بود!
در مورد سومی هم 2تا آرایه می خوای!
یکی رو از اول و دیگری رو از آخر می خونی!
از یکی از آرایه ها, کپی می کنی تو دومی!
همین!
 

msglike

عضو جدید
سلام
برنامه ها به همان گونه ای نوشته می شوند که دوستمان در بالا گفتن ، در باره ی سینتکس نوشتن حلقه ها و گرفتن آرایه یا استفاده از پوینتر می تونی از کتاب برنامه نوسی جعفر نژاد قمی استفاده کنی، کامل توضیح داده و یه سری برنامه هم به عنوان مثال و تمرین نوشته.

شاد باشی:smile:
 

SHRP

همکار مدیر تالار مهندسی کامپیوتر متخصص برنامه نوی
کاربر ممتاز
به چه روشی؟حرفه ای یا ساده؟با کمک آرایه یا ؟؟؟
من یه نسخه ساده بدون آرایه برای سوال اول واست می ذارم :
#include <stdio.h>
#include <conio.h>
void main(void)
{
int n,Max;
clrscr();
max:=0;
printf("Enter 50 numbers Please:");
for(int i=0;i<50;i++)
{
Printf("\n Enter Number#%d:",i);
Scanf("%d",&n);
if(n>max) Max=n;
}
Printf("Max=%d",Max);
}


دوتای بعدی با آرایه حل میشه
اولی هم با آرایه می شه نوشت.
 

shazde kuchulo

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

کمک فوری کمک فوری؟؟؟؟؟؟؟؟؟؟؟؟؟

خواهش میکنم کمک کنید
من دارم پروژه پایان ترمم رو مینویسم به یک مشکل برخوردم
وقتی که در #c
console application میخوام از فایل ها استفاده کنم یا از collection ها وقتی که
using system.io
using system.collections
رو مینویسم erorr میده.
و نمیتونم از filestream, arraylist استفاده کنم
یعنی برای محیط ناشناخته است.
حالا باید چی کار کنم؟؟؟؟؟؟؟؟!!!!!!!!!!:w10:
:w19:
 
بالا