# Native Code > برنامه نویسی با C > برنامه نویسی با زبان C و ++C >  چگونگی نمایش رقم اعشار

## vahidbolbol

سلام به همه چطوری میتونم یک عدد اعشاری  تا 10 رقم اعشار وارد کنم و 10 رقم اعشار بهم نشون بده؟

دومین سوالم اینه که حالا من 15 رقم اعشار رو میدم میخوام واسم تا ده رقم اعشار گرد کنه...

میشه کمکم کنید خیلی واجبه

----------


## vahidbolbol

راستی تو زبان سی پلاس پلاس و با نرم افزار ویژال سی پلاس پلاس کار کنه مرسی

----------


## motherboard

سلام.این از اون دست سوال های معروف است.ببین فلسفه عملگرهایی مثل + و- و* و .... برای این نیست که به عنوان محاسبات ریاضی استفاده کنیم.!!!! اصول برنامه نویسی میگه که خروجی اعمال محاسباتی مثل برنامه ماشین حساب به صورت کاراکتری باشه.این عملگرهای محاسباتی در برنامه ماشین حساب به صورت مستقیم عمل نمی کنند تا نتیجه یک ریاضی رو نمایش بدهند.!!!! باید الگوریتمش رو بدونی و بسازی و من اون الگوریتم رو نمیدونم.حاصل یک محاسبه ریاضی باید به صورت رشته ها  و کاراکتر ها باشد.

----------


## vahidbolbol

> سلام.این از اون دست سوال های معروف است.ببین فلسفه عملگرهایی مثل + و- و* و .... برای این نیست که به عنوان محاسبات ریاضی استفاده کنیم.!!!! اصول برنامه نویسی میگه که خروجی اعمال محاسباتی مثل برنامه ماشین حساب به صورت کاراکتری باشه.این عملگرهای محاسباتی در برنامه ماشین حساب به صورت مستقیم عمل نمی کنند تا نتیجه یک ریاضی رو نمایش بدهند.!!!! باید الگوریتمش رو بدونی و بسازی و من اون الگوریتم رو نمیدونم.حاصل یک محاسبه ریاضی باید به صورت رشته ها  و کاراکتر ها باشد.



اصلا متوجه نشدم دوست عزیز میشخ برام کد بزارید

----------


## motherboard

کل صحبتم این بود که برای محاسبات ریاضی درستش اینه که از رشته ها و کاراکتر ها استفاده کنیم .برای مثال کد زیر رو در نظر بگیرید که چه طور توان های بزرگ رو محاسبه می کند!!!!!

#include <conio.h>
#include <math.h>
#include <iostream>
#include <string>
   
using namespace std;
   
//
void Tipper (string  & Num)
{
    int i;
    char ch;
   
    for( i=0; i< ( int(Num.size()/2)); i++)
    {
            ch = Num.at(i);
            Num.at(i) = Num.at( ( Num.size()- 1)-i);
            Num.at( ( Num.size()- 1)-i) = ch;
    }
}
//
   
//    Sum for heavy number
string  sum ( string Num1 , string Num2)
{
    int i;
    int MaxLen;
    int sum=0;
    int r=0;
    char ch;
    string Num3;
   
    Tipper(Num1);
    Tipper(Num2);
   
    if(Num1.size() < Num2.size())
    {
        MaxLen=Num2.size();
    }
    else
    {
        MaxLen=Num1.size();
    }
   
    for( i=0; i<MaxLen; i++)
    {
        sum=0;
        if( i< int(Num1.size()))
        {
            sum += Num1.at(i)-48;
        }
        if( i< int(Num2.size()))
        {
            sum += Num2.at(i)-48;
        }
   
        ch = ( (sum+r) % 10) + 48;
        Num3.push_back(ch);
   
        r = (sum+r) / 10;
    }
   
    if(r != 0)
    {
        ch = r + 48;
        Num3.push_back(ch);
    }
   
    Tipper(Num3);
    return Num3;
}
// End of Sum for heavy number
   
//Multiplication for heavy number
string multiplication ( string Num1 , string Num2)
{
    int i;
    int j;
    int t;
    int r = 0;
    int mult=0;
    char ch;
    string Num3;
    string Sum = "0";
   
    Tipper(Num1);
    Tipper(Num2);
   
    if( Num1.size() > Num1.size())
    {
        Num1.swap(Num2);   
    }
   
    for ( i = 0; i < int(Num1.size()); i++)
    {
        r=0;
   
        for ( t = 0; t < i; t++)
        {
            Num3.push_back( '0');
        }
   
        for ( j = 0; j < int(Num2.size()); j++)
        {
            mult = ( Num1.at(i)-48) * ( Num2.at(j)-48);
            ch = ( ( mult + r) % 10) + 48;
            Num3.push_back( ch);
            r = ( mult + r) / 10;
        }
   
        if( r != 0)
        {
            ch = r + 48;
            Num3.push_back( ch);
        }
   
        Tipper(Num3);
   
        Sum = sum( Sum, Num3);
   
        Num3.clear();
    }
   
    return Sum;
}
//end Multiplication for heavy number
   
//Power for heavy number
string power( string Num1, int Num2)
{
    int i;
    string result = "1";
   
    for( i=0; i<Num2; i++)
    {
        result = multiplication(result,Num1);
    }
   
    return result;
}
//end Power for heavy number
   
int main()
{   
    cout<<power("2",1000)<<endl;
 getch();
    return 0;
}

----------


## rahnema1

#include <stdio.h>
#include <iostream>
#include <iomanip>
int main()
{
	double a=1.2345678445634;
	printf("%.10f",a);
	printf("\n");
	std::cout<<std::setprecision(10)<<a;
}

----------


## vahidbolbol

> #include <stdio.h>
> #include <iostream>
> #include <iomanip>
> int main()
> {
>     double a=1.2345678445634;
>     printf("%.10f",a);
>     printf("\n");
>     std::cout<<std::setprecision(10)<<a;
> }



سلام ممنون دوست عزیز الان فکر کنم دستور Printf برای زبان C هست درسته؟منظورم اینه بجای دستور printf  میتونم از دستور Cout  استفاده کنم؟
سوال بعدیم اینه که نوشتید ("%.10f",a) منظورتون اینه که تا ده رقم اعشار گرد کنه؟
سوال بعدیم اینه که دستور Cout  آخر چیه؟حتما باید بنویسیم؟ممنون میشم توضیح بدین

----------


## vahidbolbol

> کل صحبتم این بود که برای محاسبات ریاضی درستش اینه که از رشته ها و کاراکتر ها استفاده کنیم .برای مثال کد زیر رو در نظر بگیرید که چه طور توان های بزرگ رو محاسبه می کند!!!!!
> 
> #include <conio.h>
> #include <math.h>
> #include <iostream>
> #include <string>
>    
> using namespace std;
>    
> ...


مرسی دوست عزیز اما من تازه کارم یکجورایی این کدی که دادین برام سنگینه مفهومش دیگه به بزرگی خودتون ببخشید و برام مبتدی تر توضیح بدین اگر مقدور هست
ممنون میشم

----------


## مسعود اقدسی فام

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    double d = 0.12345678917;
    cout << setprecision(10) << d;
}

این برنامه خروجی 0.1234567892 رو چاپ می‌کنه. یعنی تا ده رقم اعشار گرد شده. اگه قرار بر قطع کردن بود 0.1234567891 چاپ می‌شد.
فایل iomanip هم به خاطر setprecision اضافه شده.

----------


## rahnema1

> سلام ممنون دوست عزیز الان فکر کنم دستور Printf برای زبان C هست درسته؟منظورم اینه بجای دستور printf  میتونم از دستور Cout  استفاده کنم؟
> سوال بعدیم اینه که نوشتید ("%.10f",a) منظورتون اینه که تا ده رقم اعشار گرد کنه؟
> سوال بعدیم اینه که دستور Cout  آخر چیه؟حتما باید بنویسیم؟ممنون میشم توضیح بدین


سلام
 printf را هم میتونید برای c و هم ++c استفاده کنید از cout هم میتونید استفاده کنید من این را به دو روش براتون نوشتم هر کدوم که دلتون خواست و باهاش راحت ترین استفاده کنید
همین طور که دوستمون اشاره کردند این دو دستور عدد را گرد می کنند و قطع نمی کنند
عدد 10 که گذاشتم یعنی تا ده رقم دقت لازم داریم

----------


## motherboard

> مرسی دوست عزیز اما من تازه کارم یکجورایی این کدی که دادین برام سنگینه  مفهومش دیگه به بزرگی خودتون ببخشید و برام مبتدی تر توضیح بدین اگر مقدور  هست
> ممنون میشم


این کد رو برای این دادم که متوجه بشید که اصل برنامه نویسی میگه برای محاسبات ریاضی و خروجی اون باید از رشته ها و کاراکترها استفاده کنیم.این نوع های صحیحی که می بینید هیچ وقت به صورت مستقیم تو محاسبات استفاده نمی کنند.مثلا شما مقدار یک خونه از جنس صحیح رو 10 قرار بدید و یک خونه دیگه رو 20 قرار بدید و این ها رو باهم جمع کنید!!!!! اصول برنامه نویسی میگه که برای محاسبات (مخصوصا محاسبات بزرگ ) باید از رشته ها به عنوان خروجی استفاده کرد!!!!البته شاید پستم خیلی به جوابی که دوستان دادند ربط نداشته باشه!!!!!!!! ولی به دردت می خوره و وقتی حرفه ای شدی دیگه از float ویا int و یا شبیه این ها دیگه استفاده نمی کنی.

----------


## Coder#

> سوال بعدیم اینه که دستور Cout آخر چیه؟حتما باید بنویسیم؟ممنون میشم توضیح بدین


cout مسخره ای در زبان مسخره شیء گرای ++C هست.
چیزهایی که اونها گفتن رو فراموش کن. ظاهرا کسی دو خط کدنویسی بلد نیست.
من برات دو برنامه نوشتم.
اولین برنامه: در تابع printf، عدد 1، تعداد ارقام سمت چپ نقطه رو برای چاپ معین می کنه و عدد 10، تعداد ارقام سمت راست نقطه رو برای چاپ معین می کنه:


#include <stdio.h>
main () {
     printf ("%1.10f", 9.12345678912);
     return 0;
}

دومین برنامه: این یک روشی برای شکستن ارقام هست. در این برنامه من خواستم  که مقدار 1.128 یا 1.128000 (هر دوشون یکی هستن) رو به دست بیارم، پس عدد  256 رو از سمت راست نقطه حذف کردم. برای این کار، 1.128256 رو بر 0.000256  تفریق کردم و عدد 1.128000 رو به دست آوردم. دقت کن که رقم سمت چپ نقطه رو 0  کردم و ارقامی رو که می خواستم در سمت راست نقطه حفظ کنم رو هم 0 کردم،  اما ارقامی رو که قصد حذف کردنشون رو داشتم رو ذکر کردم، یعنی 256.
#include <stdio.h>
main () {
    float f = 1.128256;
    printf ("%f", f -= 0.000256);
    return 0;
}

اگر عدد داخل متغیر اِف ما 8.128256 بود و ما قصد تبدیلش به عدد 4.128 رو داشتیم، رقم سمت چپ نقطه (8) رو بر 4 تفریق می کردیم و در مورد عملیات سمت راست نقطه در بالا توضیح دادم.
بنابراین: 4.000256 - 8.128256.
نتیجه: 4.128 یا 4.128000.

----------


## محمد فدوی

> cout مسخره ای در زبان مسخره شیء گرای ++C هست.


زبان ++C اسطوره ی شئ گرایی برای زبان های دیگست. این حرف شما به عنوان یه اظهار نظر سلیقه ای قابل احترامه.




> ظاهرا کسی دو خط کدنویسی بلد نیست.


اساتید زیادی هستن اینجا که منو شما حق نداریم بشون بی احترامی کنیم.

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

----------


## dasssnj

> cout مسخره ای در زبان مسخره شیء گرای ++C هست.


من خودم برنامه نویس جاوا هستم ولی اینو بدونید که اگه سی نبود شاید خیلی دیگه از زبان ها هم نبودند.
سی اسطوره ایه که هنوزم رده ی بالایی داره و مهمترین زبان از نظر منه . بیشتر برنامه های مهم و کاربردی  با این زبان نوشته شدند و حتی ویندوز هم وابسته به زبان سیه و برنامه های پیشفرضش به همین زبان نوشته شده اند.
 من که احترام زیادی برای سی قائلم ولی برای سی شارپ اصلا.
اما آخرش هر کس هر چیزی را که دوست داره ترجیح میده . مثلا من هر چقدر که سی خوب باشه آخرش جاوا را ترجیح میدم.

----------


## Coder#

> من خودم برنامه نویس جاوا هستم ولی اینو بدونید که اگه سی نبود شاید خیلی دیگه از زبان ها هم نبودند.
> سی اسطوره ایه که هنوزم رده ی بالایی داره و مهمترین زبان از نظر منه . بیشتر برنامه های مهم و کاربردی  با این زبان نوشته شدند و حتی ویندوز هم وابسته به زبان سیه و برنامه های پیشفرضش به همین زبان نوشته شده اند.
>  من که احترام زیادی برای سی قائلم ولی برای سی شارپ اصلا.
> اما آخرش هر کس هر چیزی را که دوست داره ترجیح میده . مثلا من هر چقدر که سی خوب باشه آخرش جاوا را ترجیح میدم.


من در زبان C کدنویسی می کنم و حرفهای تو رو کاملا قبول دارم. اما از زبان های شیء گرایی مثل ++C و Java متنفرم.
برنامه نویس از خودش خلاقیت نشون میده، یا فقط از خلاقیت های اعضای کمیته زبان برنامه نویسی محبوبش استفاده می بره.

----------


## Coder#

> اساتید زیادی هستن اینجا که منو شما حق نداریم بشون بی احترامی کنیم.


این به این دلیله که تو کلمه "کسی" رو به همون اساتیدتون ربط دادی. پس به گمونم تو بی احترامی کردی نه من.
تا "اساتید" از نظر تو چه کسانی باشن.




> ورودتون رو به انجمن تبریک میگم.


خیلی ممنون.

----------


## dasssnj

> من در زبان C کدنویسی می کنم و حرفهای تو رو کاملا قبول دارم. اما از زبان های شیء گرایی مثل ++C و Java متنفرم.
> برنامه نویس از خودش خلاقیت نشون میده، یا فقط از خلاقیت های اعضای کمیته زبان برنامه نویسی محبوبش استفاده می بره.


نه من توی جاوا تقریبا دارم هر روز خلاقیت به خرج می دم و فقط اینو مدیون قابلیت های جاوا هستم. توی سی کمی خلاقیت دارم و بقیه ی زبان ها از جمله سی شارپ را بلافاصله پس از شروع یادگیری ازشون متنفر شدم.
به راحتی می تونم بگم که جاوا شئ گرا ترین زبانه و اگه این شئ گرایی نبود برنامه هام تبدیل میشد به چندین خط کد خسته کننده و تکراری. سی را هم به خاطر این کمی (به نظر من) توی شئ گرایی از جاوا کم داره (چون جاوا بدون ساخت شئ یا همون کلاس نمیشه متد main داشت ولی سی میشه و خیلی از توابع سی مثل توابع static در جاوا می مونن) زیاد دوست ندارم. یا این به خاطر اینه که خیلی وقته جاوا کد می زنم.


 شما اگه سعی کنی فکرتو باز نگه داری و همیشه کد هایت را ببینی و همین طور سورس های دیگه را کم کم خلاقیتی پیدا می کنی که بدون استفاده از توابع کتابخانه ای یه زبان برنامه های خیلی خوبی بنویسی . من از وقتی شروع به یادگیری سی کردم برای راحتی بیشتر اومدم و توابع اصلی جاوا را توی سی پیاده کردم و تا حالا خیلی هاش را نوشتم . این نشون میده برنامه نویس محدود به زبانش نیست و حتی با مزخرف ترین زبان هم می تونه بهترین برنامه را بسازه.

----------


## vahidbolbol

سلام دوستان دمه همتون گرم بابت راهنماییاتون
اما من کل زبانهای برنامه نویسی رو دوس دارم کاش میشد همه رو یاد گرفت
مخلص مدیر بخش هم هستیم آقای اسدزاده

----------


## vahidbolbol

> #include <iostream>
> #include <iomanip>
> using namespace std;
> int main()
> {
>     double d = 0.12345678917;
>     cout << setprecision(10) << d;
> }
> 
> ...



مرسی دوست عزیز من یک سوال برام ایجاد شد الان شما یک عدد ثابت دادین که گرد بشه اما من میخوام یک عدد اعشاری از کاربر بگیره نه اینکه عدد ثابت باشه و گرد بشه اونو چطوری بنویسیم؟
ممنون میشم جوابمو بدین بقیه دوستانم اگه تونستن کمکم کنن

----------


## مسعود اقدسی فام

> مرسی دوست عزیز من یک سوال برام ایجاد شد الان شما یک عدد ثابت دادین که گرد بشه اما من میخوام یک عدد اعشاری از کاربر بگیره نه اینکه عدد ثابت باشه و گرد بشه اونو چطوری بنویسیم؟
> ممنون میشم جوابمو بدین بقیه دوستانم اگه تونستن کمکم کنن



#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    double d;
    cin >> d;
    cout << setprecision(10) << d << endl;
}

این کد عدد اعشاری رو از کاربر دریافت می‌کنه. اگه عددی که وارد می‌شه کمتر یا مساوی ده رقم اعشار داشته باشه بدون هیچی تغییری چاپ می‌شه. اما اگه بیشتر از ده رقم اعشار وارد کنید گرد می‌کنه و در خروجی چاپ می‌کنه.
اما اگه منظورتون این هست که چطور عدد گرد شده‌ی جدید رو جایی ذخیره کنیم این یه بحث جداست. یعنی می‌خواید عدد رو تا ده رقم اعشار گرد کنید و داخل یه متغیر نگه دارید؟

----------


## rahnema1

> چیزهایی که اونها گفتن رو فراموش کن. ظاهرا کسی دو خط کدنویسی بلد نیست.


با سلام وتبریک ورود شما
 دوست عزیز ببینید کسی مصون از خطا و اشتباه نیست پیشنهاد من اینه که به جای کلی صحبت کردن و مخاطب قرار دادن همه، هر جا اشکالی دیدید اون را کامنت کنید و اشتباه اون شخص را با خیال راحت بهش مستقیما بگید تا موضوع هم برای شما یا مخاطب شما روشن بشه.

----------


## rahnema1

> شما در C چه خلاقیتی نشون میدی ؟ میشه ذکر کنید؟
> من میخوام به زبان C شما برای من یک برنامه خیلی ساده بنویسی که در هیچ زبانی امکانش نیست! 
> 			
> 		
> 
> درک سادگی C احتیاج به نابغه داره، که اگر تو حتی نابغه 'نبودی'، می تونستی تشخیص بدی که زمانی که ما در جمله هامون از کلمه "هیچ" استفاده می کنیم، نباید کلمه منفی دیگه ای رو در کنارش قرار بدیم.
> "در هیچ زبانی امکانش نیست" یعنی در هر زبانی امکانش هست. این یعنی منفی در منفی شده مثبت، آقای مدیر. هیچ نیست یعنی چیزی هست، چون "هیچ" قرینه میشه. گمون نکنم با وجود چنین اشتباهی از سوی تو، بتونی برنامه ای رو که می نویسم رو درک کنی.


باعرض معذرت از آقای اسدزاده مطالب را پاک کردید درسته اینجا جای بحث در مورد زبان و ادبیات نیست فقط برای اینکه به دوستمون نشون بدم حرفشون اشتباه هست و بحث منفی در منفی را به عنوان یک بحث انحرافی مطرح کردن این نقل قول را از سایت گنچور میذارم:
http://ganjoor.net/saadi/divan/ghazals/sh509
بحث مثبت در منفی و منفی در منفی را رها کنید. حساب ادبیات از ریاضیات جداست. اینگونه تعابیر در شعر فارسی فراوان است. همین شیخ «سعدی» که افصح المتکلمین است در قصیده مشهور فرموده است:
بعد از خدای هرچه پرستند هیچ نیست
بی دولت آنکه بر همه هبچ اختیار کرد
و حافظ که لسان الغیب است فرموده است:
ما را ز منع عقل مترسان و می بیار
کان شحنه در ولایت ما هیچ کاره نیست

----------


## Coder#

> باعرض معذرت از آقای اسدزاده مطالب را پاک کردید درسته اینجا جای بحث در مورد زبان و ادبیات نیست فقط برای اینکه به دوستمون نشون بدم حرفشون اشتباه هست و بحث منفی در منفی را به عنوان یک بحث انحرافی مطرح کردن این نقل قول را از سایت گنچور میذارم:
> http://ganjoor.net/saadi/divan/ghazals/sh509
> بحث مثبت در منفی و منفی در منفی را رها کنید. حساب ادبیات از ریاضیات جداست. اینگونه تعابیر در شعر فارسی فراوان است. همین شیخ «سعدی» که افصح المتکلمین است در قصیده مشهور فرموده است:
> بعد از خدای هرچه پرستند هیچ نیست
> بی دولت آنکه بر همه هبچ اختیار کرد
> و حافظ که لسان الغیب است فرموده است:
> ما را ز منع عقل مترسان و می بیار
> کان شحنه در ولایت ما هیچ کاره نیست


جدا نیست.
- هیچ چیز - نیست یعنی منفی در منفی که میشه مثبت. ("هیچ چیز" توسط "نیست" تکذیب شده)
- هیچ چیز + هست یعنی منفی در مثبت که میشه منفی. ("هیچ چیز" توسط "هست" تایید شده)
+ چیزی - نیست یعنی مثبت در منفی که میشه منفی. ("چیزی" توسط "نیست" تکذیب/ شده)
+ چیزی + هست یعنی مثبت در مثبت که میشه مثبت. ("چیزی" توسط "هست" تایید شده)

این ثابت ها در ضرب و تقسیم به این صورت هستن اما در جمع و تفریق به این صورت نیستن.
برای مثال: درسته که منفی در منفی میشه مثبت، اما اگر دو عدد منفی رو با هم جمع کنی، جواب همون منفیه. یا اگر عدد 4- رو بر 2- تفریق کنی، جواب میشه 2-.
به این دلیل صداش می زنم "ثابت" چون قوانین طبیعته و در اون ثابته و شاهکار ریاضی نیست. این رو ریاضی از طبیعت الهام گرفته.

اکثر مردم ایران عادت کردن به غلط صحبت کردن. کسانی که به زبان انگلیسی صحبت می کنن هم چنین اشتباهی رو مرتکب میشن:
غلط: .I did not do nothing 
درست: .I did not do anything

نمیشه گفت که این جملات چه درست هستن یا چه غلط. اما از اونجایی که جمله اولی از دهان شخصی که قصد تکذیبِ کاری رو که گمان میشه از سوی اون بوده را داشته، بنابراین غلط محسوب میشه. ممکنه کسی بخواد از این راه پیچیده استفاده بهینه کنه تا بتونه منظورش رو سربسته برسونه.
در مورد سعدی، اگر قصد تکذیب کاری رو داشته، بنابراین درستِ این جمله از شعرش میشه:

_کان شحنه در ولایت ما هیچ کاره هست_.

----------


## amirtork

> جدا نیست.
> - هیچ چیز - نیست یعنی منفی در منفی که میشه مثبت. ("هیچ چیز" توسط "نیست" تکذیب شده)
> - هیچ چیز + هست یعنی منفی در مثبت که میشه منفی. ("هیچ چیز" توسط "هست" تایید شده)
> + چیزی - نیست یعنی مثبت در منفی که میشه منفی. ("چیزی" توسط "نیست" تکذیب/ شده)
> + چیزی + هست یعنی مثبت در مثبت که میشه مثبت. ("چیزی" توسط "هست" تایید شده)
> 
> این ثابت ها در ضرب و تقسیم به این صورت هستن اما در جمع و تفریق به این صورت نیستن.
> برای مثال: درسته که منفی در منفی میشه مثبت، اما اگر دو عدد منفی رو با هم جمع کنی، جواب همون منفیه. یا اگر عدد 4- رو بر 2- تفریق کنی، جواب میشه 2-.
> به این دلیل صداش می زنم "ثابت" چون قوانین طبیعته و در اون ثابته و شاهکار ریاضی نیست. این رو ریاضی از طبیعت الهام گرفته.
> ...


سلام
نمیخوام به منحرف شدن بیشتر موضوع دامن بزنم. اما لازم دونستم این رو گوش زد کنم.
جناب کدر چند نکته بود که میخواستم خدمتتون عرض کنم.
مورد اول اینکه: شما از اخلاق برنامه نویسی هیچ چیزی نمیدونید.
مورد دوم اینکه: شما از دلیل و مفهوم برنامه نویسی شی گرا هیچ چیز نمی دونید.
مورد سوم اینکه: شما از مفهوم خلاقیت و نوآوری هیچ چیزی نمی دونید.
مورد سوم اینکه: شما از مفهوم موفقیت و تهدید هیچ اطلاعی ندارید.
مورد چهارم اینکه: این نوع از گفتار و تفکر که شما از اون استفاده میکنید در شأن هیچ انسانی نیست.
شما میتونید از این جملات بنا به گفته ی خودتون برداشت کنید. یعنی همون منفی در منفی میشه مثبت و افراد دیگه هم میتونن بنا به نظر خودشون از این جملات چیزی رو برداشت کنن :چشمک: 
اما بحث اصلی این هست که هدف این انجمن ها به وجود آوردن یک محیطی هست که کاربران بتونن در اونها تجربیات و دانش خودشون رو به دیگر افراد در راستای فلسفه ی دانش آزاد منتقل کنن. که قطعا راه رسیدن به این هدف توهین و به وجود آوردن جو متشنج نیست.
در مورد توانایی بسیار زیاد زبان  C در مقابل دیگر زبان ها از جمله زبان C++‎ که شما مدعی اون هستید. من خواهش میکنم شما یک برنامه ای در زبان سی بنویسید که تنها در زبان سی قابلیت پیاده سازی داشته باشه و دیگر زبان های برنامه نویسی از پیاده سازی اون عاجز باشند.
***ـ لطفا نگران نبوغ من در فهم کد برنامه نباشید.

----------


## Coder#

> سلام
> نمیخوام به منحرف شدن بیشتر موضوع دامن بزنم. اما لازم دونستم این رو گوش زد کنم.
> جناب کدر چند نکته بود که میخواستم خدمتتون عرض کنم.
> مورد اول اینکه: شما از اخلاق برنامه نویسی هیچ چیزی نمیدونید.
> مورد دوم اینکه: شما از دلیل و مفهوم برنامه نویسی شی گرا هیچ چیز نمی دونید.
> مورد سوم اینکه: شما از مفهوم خلاقیت و نوآوری هیچ چیزی نمی دونید.
> مورد سوم اینکه: شما از مفهوم موفقیت و تهدید هیچ اطلاعی ندارید.
> مورد چهارم اینکه: این نوع از گفتار و تفکر که شما از اون استفاده میکنید در شأن هیچ انسانی نیست.
> شما میتونید از این جملات بنا به گفته ی خودتون برداشت کنید. یعنی همون  منفی در منفی میشه مثبت و افراد دیگه هم میتونن بنا به نظر خودشون از این  جملات چیزی رو برداشت کنن
> ...


من کِی گفتم زبان C از زبان های دیگه قدرتمندتره؟ می تونی پُست من رو پیدا کنی؟ این بار چندم توست که چیزی رو که من نگفتم رو به من تحمیل می کنی و نسبت میدی. در تاپیک قبلیت در همین تالار هم چندین مورد از حرفهای من رو شخصی برداشت کردی و به من نسبت دادی. حالت خوبه؟
C یک زبان کوچکه. تو باید بزرگش کنی. می دونی این یعنی چی؟ یعنی به چالش انداختن مغز، یعنی خلاقیت از خود. C در حد کمی تابع در اختیارت قرار میده، اما زمانی که تو قصد نوشتن یک سیستم عامل و برنامه های بزرگ دیگر رو در زبان C داشته باشی، آیا می تونی با کتابخانه استاندارد این زبان اونها رو عملی کنی؟ خیر. چون باید خودت یک کتابخانه استاندارد تازه بسازی، یعنی به معنای واقعی، برنامه نویس باشی. این دومین باره که این سوال خنده دار از من پرسیده میشه. اگر تو متوجه بودی، این سوال رو از من نمی پرسیدی.
دو چیز موضوعات رو به انحراف می کشونن:
1- دروغ.
2- نفهمیدن.
که متاسفانه کسی نفهمید که من چی گفتم. تو بهتره (همونطور که در اون تاپیک اعلام کردی "یادگیری گروهی") بری قشنگ یاد بگیری، بعد بیای از من درخواست برنامه کنی.
آیا تو از من انتظار داری که یه برنامه بنویسم که نشه در برنامه های دیگه پیاده اش کرد؟ می دونی بچگانه و خنده دارترین حرفی که در طول عُمرم شنیدم، همین بوده؟ خشم درونیت رو کنترل کن و منطقی صحبت کن، هرچند، در اون صورت هم ممکنه که با تو مخالفت کنم، چرا که منطق هم گونه های متفاوتی داره. 
پیشنهاد می کنم مدت کوتاهی از وقتت رو صرف یادگیری کتاب The C Programming Language کنی تا بفهمی که برنامه نویسی یعنی چی. زمانی که تونستی 5 تمرین آخر چَپتر اول این کتاب رو حل کنی، کمی درک خواهی کرد. کدهات رو خودت بنویس و ازشون بهره مند شو. من از هر تابع کتابخانه استاندارد زبان C، یک نسخه تکراری ازش ساختم. می دونی چرا؟ چرا باید من توابع کتابخنه استاندارد C رو از نو بنویسم؟ چالش - آمادگی برای ساخت توابعی دیگر - تجربه - آشنایی با هنر کدنویسی. برو طرف ++C و چندسال از عمرت رو حفظ کن اما چیزی از برنامه نویسی نفهم، یا چندسال از وقتت رو صرف نوشتن یک کتابخانه استاندارد بزرگ برای زبان C کن و تموم برنامه ها رو توسط توابع خودت بنویس. کتابخانه استاندارد جدید من تا چند سال دیگه به درجه بالایی از ارزش میرسه، و قراره که در سالهای آتی (ممکنه 10)، برای نوشتن یک سیستم عاملی (از ریشه) که قطعا دنیا رو تکون خواهد داد، استفاده کنم.
من از زبان ++C متنفرم و این دید شخصی من هست و بدی و خوبی این زبان رو به کسی (دقیقا مثل کاری که شماها با من کردید) تحمیل نکردم. من نه از خوب بودن و بد بودن C گفتم نه از خوب بودن و بد بودن ++C. باید دقت می کردی تا می فهمیدی که کُل منظور من، ریشه نویسیه. برای مثال: برنامه نویسی تنها در زبان اسمبلی و زبان C. دیدگاه برنامه نویسان زبان های سطح پایین و متوسط همیشه با دیدگاه برنامه نویسان زبان های سطح بالا و بالاتر فرق داشته و داره و این عجیب نیست.

در مورد هدف انجمن نوشتی: بنابراین از توصیه های من استفاده کن.

در مورد اون چند موردی که نوشتی:
ببین، تو به 5 مورد اشاره کردی که خدا می دونه من در چند هزار خط می تونم درباره شون صحبت کنم. اگر قصد تو انحراف نبود، این بحث رو اینجا شروع نمی کردی.
آقای مدیر و کاربران، آیا شما حاظرید که به مواردی که این کاربر بهشون اشاره کرده، بپردازم یا خیر؟ اگر پاسختون مثبته، پس من شروع می کنم. اما منتظر بیش از 5 هزار خط از من باشید.

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

تو اگر متوجه بودی، بعد از کلمه هیچ، کلمه ای منفی نمی آوردی:
مورد اول اینکه: شما از اخلاق برنامه نویسی   *هیچ*   چیزی  *نمیدونید* . ( *مثبت*: یعنی من چیزی می دونم) 
مورد دوم اینکه: شما از دلیل و مفهوم برنامه نویسی شی گرا  *هیچ*  چیز *نمی دونید*. ( *مثبت*: یعنی من چیزی می دونم) 
مورد سوم اینکه: شما از مفهوم خلاقیت و نوآوری *هیچ* چیزی *نمی دونید*. ( *مثبت*: یعنی من چیزی می دونم)
مورد سوم اینکه: شما از مفهوم موفقیت و تهدید *هیچ* اطلاعی *ندارید*. ( *مثبت*: یعنی من اطلاعی دارم)
مورد چهارم اینکه: این نوع از گفتار و تفکر که شما از اون استفاده میکنید در شأن *هیچ* انسانی *نیست*. ( *مثبت*: یعنی در شأن هر انسانی هست)

واقعا متوجه نشدی که همش از من تعریف کردی؟ شاید واقعا قصدت تعریف بوده اما سربسته بیان کردی.

من نمیخوام با کسی شاخ و شونه بکشم و دوست ندارم با مدیران و کسان دیگری دعوا کنم. اما باید به دیدگاه های کاربران احترام گذاشت. هرکس که ++C میخونه، بخونه، به من مربوط نمیشه. من تنها پاره ای از دیدگاهم رو درباره این زبان وحشتناک بیان کردم. ای کاش شماهایی که برای هم احترام قائل هستید، در دنیای واقعی هم اینطور باشید. ما همدیگر رو نمی شناسیم. آیا چه کسی می دونست که من برای مَردمم پانصدمین فیلم (که آخرینش بود) رو یک ماه پیش به صورت رایگان ترجمه کردم؟ آیا کسی خبر داشت؟ خیر.
موضوع سر این نیست که بگم من اینکار رو کردم اما مُزدی دریافت نکردم. موضوع سر قضاوت بی دلیل کردنه. آقای امیر تُرک، تو کجا بودی دورانی رو که من از سر ترجمه فیلمها سرگیجه می گرفتم تنها برای توی تماشاگر؟ که راحت پاهات رو دراز کنی و پوفیلات رو بخوردی و فیلمت رو تماشا کنی؟ تو کجا بودی زمانی که سر حل برخی از مسئله ها، سختی می دیدم؟ خلاقیت من پیش خودم وجود داره و تازه هایی برای خودم ساختم. نوآوری های من پیش خودمه و از اونها برای اهدافم در آینده استفاده می کنم. اما تو من رو مجبور به بازگو کردن اینها کردی، چرا که ناراحت شدم.
 من به کسی بی احترامی نکردم. دریافتِ برخی از کاربران از چیزی، باب میل خودشون نبوده.

دوست ندارم که دیگه ادامه بدم و سعی نمی کنم تا بیش از این به این بحث ها ادامه بدم و تنها به کاربرانی که درخواست کمک می کنن، کمک کنم.
آقای مدیر، بهتره که این تاپیک رو قفل کنی چون بعید می دونم که به پایان برسه. اما پُست من رو حذف نکن، لطفا.

پایان.

----------


## hosseinam1370

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



> مورد اول اینکه: شما از اخلاق برنامه نویسی   *هیچ*   چیزی  *نمیدونید* . ( *مثبت*: یعنی من چیزی می دونم) 
> مورد دوم اینکه: شما از دلیل و مفهوم برنامه نویسی شی گرا  *هیچ*  چیز *نمی دونید*. ( *مثبت*: یعنی من چیزی می دونم) 
> مورد سوم اینکه: شما از مفهوم خلاقیت و نوآوری *هیچ* چیزی *نمی دونید*. ( *مثبت*: یعنی من چیزی می دونم)
> مورد سوم اینکه: شما از مفهوم موفقیت و تهدید *هیچ* اطلاعی *ندارید*. ( *مثبت*: یعنی من اطلاعی دارم)
> مورد چهارم اینکه: این نوع از گفتار و تفکر که شما از اون استفاده میکنید در شأن *هیچ* انسانی *نیست*. ( *مثبت*: یعنی در شأن هر انسانی هست)


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

تو اتاقم هیشکی پیشم نیست .  (هیشکی = منفی    و  نیست = منفی) ،حالا با این دلیله دوستمون منفی در منفی میشه + مثبت.

خوب یعنی باید الان یه نفر پیشم باشه؟(ولی تو اتاقم خودم تنهام)

اگه نباید باشه ، پس یا  این دلیلتون نقض میشه ، یا من چیزیو بد فهمیدم.

ممنون .

بازم معذرت از استارتر به دلیل پست انحرافی .. برام خیلی جالب شد.

----------


## Coder#

> یه سوال برام پیش اومد.
> میگم حالا بر اساس اینکه این دوسته عزیز از این منطق برای اثبات استفاده میکنه ، پس من اگه بگم :
> 
> تو اتاقم هیشکی پیشم نیست .  (هیشکی = منفی    و  نیست = منفی) ،حالا با این دلیله دوستمون منفی در منفی میشه + مثبت.
> 
> خوب یعنی باید الان یه نفر پیشم باشه؟(ولی تو اتاقم خودم تنهام)
> 
> اگه نباید باشه ، پس یا  این دلیلتون نقض میشه ، یا من چیزیو بد فهمیدم.
> 
> ...


این به دلیل اشتباه در صحبت کردن توست.
پیش اومده که خارجی ها از انجمن های زبان و ادبیات انگلیسی این سوال رو پرسیدن و اونها هم دقیقا همین پاسخ من رو بهشون دادن (کسانی مثل روسی ها در ایالات متحده آمریکا که انگلیسی رو بد صحبت می کنن). این بسیار واضحه. وقتی از "هیچ" استفاده می کنی، باید کلمه ای رو بعدش قرار بدی تا "هیچ" رو تایید کنه. جمله صحیح اینه: "در اتاق من، کسی نیست." یا "در اتاق من، هیچکس هست".
البته روش درست جمله سازی اینه: "کسی در اتاق من نیست." اکثرمون در جمله سازی مشکل داریم. منفی و مثبت ها رو میشه در یک بُردار اُفقی ریاضی نشون داد، همچنان میشه از این روش بسیار ساده در زبان استفاده کرد.

----------


## hosseinam1370

از اول  از ادبیات بدم میاومد.
ولی خوشم اومد شما ریاضی رو به ادبیات چسبوندین.

جالب بود.
ممنون.

----------


## کامبیز اسدزاده

*افسوس میخورم .... تاپیک قفل شد.*

----------

