• اگر سمپادی هستی همین الان عضو شو :
    ثبت نام عضویت

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

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

mehrad :|

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
698
نام مرکز سمپاد
حلی ۲ / سلام ایران‌زمین / انرژی
شهر
تِران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

hamykhafan

کاربر فوق‌فعال
ارسال‌ها
85
امتیاز
110
نام مرکز سمپاد
شهید اژه ای
شهر
اصفهان
مدال المپیاد
اصلا حرفشم نزن حالم بهم می خوره
دانشگاه
؟؟؟!!!!
رشته دانشگاه
نرم افزار
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

mehrad :|

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
698
نام مرکز سمپاد
حلی ۲ / سلام ایران‌زمین / انرژی
شهر
تِران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

hamykhafan

کاربر فوق‌فعال
ارسال‌ها
85
امتیاز
110
نام مرکز سمپاد
شهید اژه ای
شهر
اصفهان
مدال المپیاد
اصلا حرفشم نزن حالم بهم می خوره
دانشگاه
؟؟؟!!!!
رشته دانشگاه
نرم افزار
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

mehrad :|

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
698
نام مرکز سمپاد
حلی ۲ / سلام ایران‌زمین / انرژی
شهر
تِران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

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

سعید الوند

کاربر فوق‌حرفه‌ای
ارسال‌ها
751
امتیاز
2,901
نام مرکز سمپاد
علامه حلی همدان
شهر
همدان
دانشگاه
امیرکبیر - دانشگاه تهران
رشته دانشگاه
مهندسی کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

با cast کردن مشکل حل نمیشه؟ امتحان کردی؟
 

JB

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,447
امتیاز
4,765
نام مرکز سمپاد
هاشمی‌نژاد ۲ مشهد
دانشگاه
شهید بهشتی تهران
رشته دانشگاه
ریاضی و علوم کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از شهریار :
سلام کسی میدونه چجوری میشه مقدار توی 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;
}
 

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از 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 و معادل هاش کاری ندارم(یعنی اگه کمک میکنید و این تابع تو کدتون هست بدونید این جوابی که میخوام نیست)
در واقع با توجه به کد بالا نتیجه ای که میخوام اگه چاپ بشه حتما یه کارکتره و عموما شکل های عجیب و غریب داره

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

Quf

کاربر فوق‌حرفه‌ای
ارسال‌ها
960
امتیاز
4,226
نام مرکز سمپاد
حلی
شهر
تهران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

mehrad :|

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
698
نام مرکز سمپاد
حلی ۲ / سلام ایران‌زمین / انرژی
شهر
تِران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از 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 رو همونجا تعریف کنم
راهی برای بر طرف کردنش هست؟
 

mehrad :|

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
698
نام مرکز سمپاد
حلی ۲ / سلام ایران‌زمین / انرژی
شهر
تِران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

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

mahsa98

کاربر فوق‌فعال
ارسال‌ها
107
امتیاز
410
نام مرکز سمپاد
فرزانگان3
شهر
تهران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

یه سوال میخوام یه رشته بگیرم و اگر با معکوسش برابر بود پیغامی در خروجی نمایش داده شه
برنامش رو نوشتم ولی درست عمل نمیکنه ایراداش رو میخواستم بدونم
کد:
{ 
       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 درست شد
 

Quf

کاربر فوق‌حرفه‌ای
ارسال‌ها
960
امتیاز
4,226
نام مرکز سمپاد
حلی
شهر
تهران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از 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;
                   }
 

مهسا.ق

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,098
امتیاز
3,216
نام مرکز سمپاد
دبیرستان فرزانگان 1
شهر
تهران
مدال المپیاد
برنز کامپیوتر ۱۳۹۳
دانشگاه
دانشگاه تهران
رشته دانشگاه
نرم افزار
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

می شد کد رو تمیز تر نوشت ولی!
به هر حال این اصلاح شده ی کد شما! من getch() نذاشتم! خودتون بذارید اگه کامپایلرتون می خواد :D
کد:
#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;        
}
اشکال های کدتون هم توضیح دادم توی کد
الان تست هایی که دادم درسته! فک نکنم اشکال دیگه ای هم داشته باشه کدتون :D
@سبحان: فک کنم اکثریت با reverse آشنایی داریم! می خواست اشکال کدش رو بفهمه! :-"
در ضمن فک کنم باید getline بخونی ینی فک کنم وقتی با getline خونده وسط اسپیس و اینا هم باشه! ولی کلا فرق زیادی هم نداره!
 

mehrad :|

کاربر نیمه‌حرفه‌ای
ارسال‌ها
193
امتیاز
698
نام مرکز سمپاد
حلی ۲ / سلام ایران‌زمین / انرژی
شهر
تِران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

کد:
#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;
}
 

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

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

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