پرسش و پاسخ پیرامون برنامه‌نویسی

  • شروع کننده موضوع شروع کننده موضوع max
  • تاریخ شروع تاریخ شروع
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از ایلیا :
ممنون آقا صبحان
فقط یه چیزی این c++ خیلی سخت نیس عیا وا3 من که زیاد از برنامه نویسی سر در میارم ;D
نه !
اگه میخوای خیلی از صفر شروع کنی پاسکال بهتره ! :)
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از علیرضا :
پیشنهاد می کنم برو اول pascal یاد بگیر چون خیلی سادس بعد c و بعد هم بهترین زبان برنامه نویسی C#!
این همه کتاب تو خیابون ریخته یکیشو بخر
با این که نمیخواهم نظر شما را رد کنم، بهتر است با JAVA هم کارکردن ر یا بگیرند زیرا تا چند سال دیگر احتمالا بیشتر برنامه ها به سمت JAVA خواهد رفت.
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

پاسکال زیادی قدیمیه. به نظر من با ویژوال بیسیک شروع کن. خیلی ساده است. معمولا برا کسایی که میخوان شروع کنن ویژوال بیسیکو پیشنهاد میکنن. بعد هم برو سر C++ و C#. البته #C یه بدیه بزرگ داره اونم اینه که انحصاریه. ولی چون خیلی راحت و هلوووه بد نیست. اونایی که میگن #C کلاس داره به قول دوستمون اسمشو شنیدم. بزرگترین پروژه های دنیا داره با C یا ++C پیش میره .مثلا هسته ی لینوکس یا دسکتاپ های لینوکسی مانند گنوم. در کل جاوا هم وقتی ++C کار کردی یاد بگیر. خوبیش اینه قابلیت حملش خیلی بالاست و قویه مخصوصا تو شبکه. فک نکن اینا برات سخته یه زبون برنامه نویسی که یاد بگیری بعدش هر زبونی رو که بخوای میتونی ظرف چند روز یاد بگیری. <:-P
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از H@MED :
پاسکال زیادی قدیمیه. به نظر من با ویژوال بیسیک شروع کن. خیلی ساده است. معمولا برا کسایی که میخوان شروع کنن ویژوال بیسیکو پیشنهاد میکنن. بعد هم برو سر C++ و C#. البته #C یه بدیه بزرگ داره اونم اینه که انحصاریه. ولی چون خیلی راحت و هلوووه بد نیست. اونایی که میگن #C کلاس داره به قول دوستمون اسمشو شنیدم. بزرگترین پروژه های دنیا داره با C یا ++C پیش میره .مثلا هسته ی لینوکس یا دسکتاپ های لینوکسی مانند گنوم. در کل جاوا هم وقتی ++C کار کردی یاد بگیر. خوبیش اینه قابلیت حملش خیلی بالاست و قویه مخصوصا تو شبکه. فک نکن اینا برات سخته یه زبون برنامه نویسی که یاد بگیری بعدش هر زبونی رو که بخوای میتونی ظرف چند روز یاد بگیری. <:-P
کم چرت بگو
باشه ؟
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از خواجه گشادالدین تهرانی :
کم چرت بگو
باشه ؟
اینجا داریم بحث میکنیم. نمی خوایم به هم توهین کنیم
من فک میکنم شما داری چرت میگی
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

سلام کسی میدونه چجوری میشه مقدار توی float رو توی char ریخت؟
توجه کنید مقدار توی float بین ۰ تا ۲۵۵ هست میخوام خروجیش توی یه متغیر char ریخته بشه
من تبدیل برای رشته نمیخوام
اصلا فرض کنید میخوام float رو بریزم توی int (مسلما جزء صحیحش رو میخوام نگه دارم)
حالا جای این int میخوام char باشه و به char قراره مقدار عددی داده بشه نه اسکی
با تشکر
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از شهریار :
سلام کسی میدونه چجوری میشه مقدار توی float رو توی char ریخت؟
توجه کنید مقدار توی float بین ۰ تا ۲۵۵ هست میخوام خروجیش توی یه متغیر char ریخته بشه
من تبدیل برای رشته نمیخوام
اصلا فرض کنید میخوام float رو بریزم توی int (مسلما جزء صحیحش رو میخوام نگه دارم)
حالا جای این int میخوام char باشه و به char قراره مقدار عددی داده بشه نه اسکی
با تشکر
واضح تر بگو
در واضح تبدیل float به string رو میخوای ؟
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از (>.◠) :
واضح تر بگو
در واضح تبدیل float به string رو میخوای ؟
نه ابدا
این همه توضیح واسه رد کردن این قضیه بود
شما فرض کن مثلا یه عدد 131.56 که تو یه متغیر از جنس float هست میخوام اون 131 اش بره تو یه متغیر از جنس char یعنی وقتی بیت های اون متغیر از جنس char که 8 تاست رو میخونیم این باشه:
10000011
که معادل باینری 131 هست

اصلا نمیخوام تو char کارکتر ذخیره بکنم میخوام باهاش مثل یه متغیر عددی رفتار کنم که از 0 تا 255 مقدار میگیره
دیگه نمیدونم از این واضح تر هم میشه گفت یا نه؟
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

با cast کردن مشکل حل نمیشه؟ امتحان کردی؟
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از شهریار :
سلام کسی میدونه چجوری میشه مقدار توی float رو توی char ریخت؟
توجه کنید مقدار توی float بین ۰ تا ۲۵۵ هست میخوام خروجیش توی یه متغیر char ریخته بشه
من تبدیل برای رشته نمیخوام
اصلا فرض کنید میخوام float رو بریزم توی int (مسلما جزء صحیحش رو میخوام نگه دارم)
حالا جای این int میخوام char باشه و به char قراره مقدار عددی داده بشه نه اسکی
با تشکر
کد:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
   float fVal = 65;
   char cVal[32];
   sprintf(cVal,"%f",fVal);
   cout << cVal;
   return 0;
}
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از S@ene :
با cast کردن مشکل حل نمیشه؟ امتحان کردی؟
چی هست؟
بیشتر توضیح میدی؟
به نقل از جواد ب. :
کد:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
   float fVal = 65;
   char cVal[32];
   sprintf(cVal,"%f",fVal);
   cout << cVal;
   return 0;
}
این اسکیه و رشته نه اون چیزی که میخوام(یه دونه char که باهاش عددی برخورد بشه)
آقا شما جزء صحیح یه متغیر float رو چجوری توی
[ltr]
char[1]
[/ltr]
قرار میدید؟(بازم میگم یه دونه نه ۳۲ تا مثل کد بالا)
این char برای چاپ کردن عدد نیست برای ذخیره اطلاعاته
برای چاپش باید تبدیل کرد
به زبون دیگه اصلا با sprintf و معادل هاش کاری ندارم(یعنی اگه کمک میکنید و این تابع تو کدتون هست بدونید این جوابی که میخوام نیست)
در واقع با توجه به کد بالا نتیجه ای که میخوام اگه چاپ بشه حتما یه کارکتره و عموما شکل های عجیب و غریب داره

نمیدونم چی بگم دیگه
اصلا کسی فهمید من چی میخوام؟؟؟
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

بفرمایید!
کد:
#include <iostream>
using namespace std;
int main(){
    float a;
    cin>>a;
    char c=(char)a;
    cout<<(int)c<<endl;
    system("pause");
    return 0;
}
اگر درست متوجه شده باشم!!! اگر نه بگید؛ دستکاری این کد کاری نداره
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

ببین یه عدد رو میتونی با کاراکتر '0' جمه کنی تا به کاراکتر تبدیل بشه
مثن اگه متغیر a باشه 3
بخوای به char تبدیل کنی اینطوره
char c = a + '0';
کد:
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از Moose :
بفرمایید!
کد:
#include <iostream>
using namespace std;
int main(){
    float a;
    cin>>a;
    char c=(char)a;
    cout<<(int)c<<endl;
    system("pause");
    return 0;
}
اگر درست متوجه شده باشم!!! اگر نه بگید؛ دستکاری این کد کاری نداره
عالیه همینو میخواستم فقط یه چیزی
این روشو قبلا دیدم ولی نتونستم ازش استفاده کنم چون نمیخواستم متغیر رو وسط برنامه تعریف کنم
بعد اینکه الآن من دارم از خط زیر cin توی while استفاده میکنم فکر نکنم جالب باشه راه دیگه ای نیست؟
یعنی اومدم اینجوری بنویسم:
[ltr]
buff = ((x + x[i + 1] + x[i + 2])/3);
swap = (unsigned char)buff;
[/ltr]
ارور میده مجبورم swap رو همونجا تعریف کنم
راهی برای بر طرف کردنش هست؟
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

شهریار جان ببخشید ولی خیلی بد سوال میپرسی !
به نظرم تیکه کدی رو که داری بزار و بگو فلان جاش میخوام نباشه چیکا باید بکنم :)
من که منظورتو نفهمیدم :دی
ولی میتونی از این استفاده کنی !
کد:
while (cin >> a )

+ sprintf همون کار sstream که برا کانورت data type هاست رو انجام میده دیگه !
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

یه سوال میخوام یه رشته بگیرم و اگر با معکوسش برابر بود پیغامی در خروجی نمایش داده شه
برنامش رو نوشتم ولی درست عمل نمیکنه ایراداش رو میخواستم بدونم
کد:
{ 
       char msg[100],smg[100];
       int k,m=strlen(msg)-1,j=0;
       cin.getline(msg,100);
       for(int i=m;i<=0;i--)
        {
               smg[j]=msg[i];
               j++;
               }
               cout<<smg;
       for(int i=0;i<=strlen(msg);i++)
       {
              if(msg[i]==smg[i])
              k=0;
              else
              {k=1;
              break;}
              }
              if(k==0)
              cout<<"equal";
              else
              cout<< "not equal";
              getch();
              }



مرسی از مهسا و moose درست شد
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از mahsa ஐ :
یه سوال میخوام یه رشته بگیرم و اگر با معکوسش برابر بود پیغامی در خروجی نمایش داده شه
برنامش رو نوشتم ولی درست عمل نمیکنه ایراداش رو میخواستم بدونم
کد:
{ 
       char msg[100],smg[100];
       int k,m=strlen(msg)-1,j=0;
       cin.getline(msg,100);
       for(int i=m;i<=0;i--)
        {
               smg[j]=msg[i];
               j++;
               }
               cout<<smg;
       for(int i=0;i<=strlen(msg);i++)
       {
              if(msg[i]==smg[i])
              k=0;
              else
              {k=1;
              break;}
              }
              if(k==0)
              cout<<"equal";
              else
              cout<< "not equal";
              getch();
              }

حالا اینکه کامپایل نشد اینجا واسه ما و خیلی گنگ هم هست هیچی!
من یه کد زدم! ببینید، ببینید این هست منظور؟!
کد:
#include "iostream"
#include "string.h"
using namespace std;
int main(){
    string val;
    cin>>val;
    string ax;
            for (int i=0;i<val.size();i++) {
                ax = val[i]+ax;
                }
                cout<<"The Inverse is:"<<ax<<endl;
              if(val==ax){
                          cout<<"Same"<<endl;
                          }
              if(val!=ax){
                   cout<<"Different"<<endl;
                   }

                   return 0;
                   }
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

می شد کد رو تمیز تر نوشت ولی!
به هر حال این اصلاح شده ی کد شما! من getch() نذاشتم! خودتون بذارید اگه کامپایلرتون می خواد :دی
کد:
#include<iostream>
#include<algorithm>
#include<string>

using namespace std;

int main(){
	
    char msg[100],smg[100];
    int k,j=0;
    cin.getline(msg,100);
	int m=strlen(msg)-1;//in bayad bad az vorodi ghereftan megdar dehi she na ghablesh!
    for(int i=m;i>=0;i--){//shoma ta i<=0 gozashte bodid! in eshtebahe! hichvaght vared in nemishod
		smg[j]=msg[i];//behtar bod mineveshti smg[m-i]=msg[i] vali eshtebah ham nabod karet
		j++;
	}
	for(int i=0;i<=m;i++){//nemitonid benevisid cout<<smg  chon ye araye hast! bayad ro tak tak ozv ha for bezanid!
		cout<<smg[i];
	}
	cout<<endl;
    for(int i=0;i<=m;i++){
        if(msg[i]==smg[i])
			k=0;
        else{
			k=1;
			break;
		}
    }
    if(k==0)
        cout<<"equal";
    else
        cout<< "not equal";
    return 0;        
}
اشکال های کدتون هم توضیح دادم توی کد
الان تست هایی که دادم درسته! فک نکنم اشکال دیگه ای هم داشته باشه کدتون :دی
@سبحان: فک کنم اکثریت با reverse آشنایی داریم! می خواست اشکال کدش رو بفهمه! :-"
در ضمن فک کنم باید getline بخونی ینی فک کنم وقتی با getline خونده وسط اسپیس و اینا هم باشه! ولی کلا فرق زیادی هم نداره!
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

آقا آقا :|
چرا اینقد لقمه رو میپیچونید ؟ :|

کد:
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <map>

using namespace std;
typedef long long ll;

int main ()
{
        ios_base::sync_with_stdio (false);
        string s , r;
        cin >> s;
        r = s;
        reverse(r.begin(), r.end());
        if (r == s)
                puts ("YES");
        else
                puts ("NO");
        return 0;
}
 
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از (>.◠) :
شهریار جان ببخشید ولی خیلی بد سوال میپرسی !
به نظرم تیکه کدی رو که داری بزار و بگو فلان جاش میخوام نباشه چیکا باید بکنم :)
من که منظورتو نفهمیدم :دی
درک میکنم!کلا ماهیت سوالام و اون چیزی هم که میخوام غیرمعموله دیگه وقتی با این بیانم بخوام بپرسم چی میشه دیگه!
به نقل از شهریار :
این روشو قبلا دیدم ولی نتونستم ازش استفاده کنم چون نمیخواستم متغیر رو وسط برنامه تعریف کنم
بعد اینکه الآن من دارم از خط زیر cin توی while استفاده میکنم فکر نکنم جالب باشه راه دیگه ای نیست؟
یعنی اومدم اینجوری بنویسم:
[ltr]
buff = ((x + x[i + 1] + x[i + 2])/3);
swap = (unsigned char)buff;
[/ltr]
ارور میده مجبورم swap رو همونجا تعریف کنم
راهی برای بر طرف کردنش هست؟

مشکلم حل شد با گذاشتن تعریف متغیر های مورد استفاده به اون شکل در main
حالا یه سوال دیگه
کسی با gcc تونسته برنامه گرافیکی بنویسه؟یکم توضیح میخوام راجع به کار با پیکسل های صفحه نمایش
 
Back
بالا