سئوالات و مشکلات برنامه نویسی به زبان C و ++C

iaidin

عضو جدید
مگه این برنامه نباید مجموع 5 عدد و بهم بده مشکلش چیه که صفر میده ؟
#include <iostream>
using namespace std;
int main()
{

int a[5], i=0, sum=0;

while ( i<5)
{
cout <<" a["<<i<<"]"<<endl;
cin>>a;
i++;
}
while ( i<5)

sum=sum+ a;
cout << sum;
return 0;
}

کد:
#include <iostream>
using namespace std;
int main()
{
    
    int a[5], i=0, sum=0;
    
    while ( i<5)
    {
        cout <<" a["<<i<<"]"<<endl;
        cin>>a[i];
        i++;
    }
[SIZE=4][B][COLOR=#ff0000]i=0;[/COLOR][/B][/SIZE]
    while ( i<5)
    
    sum=sum+ a[i];
    cout << sum;
    return 0;
}
 

! # ALI # !

عضو جدید
دوستان مشکل این چیه؟

کد:
 MessageBox::Show("The operation has been completed ","Notification", MessageBoxButtons::OKCancel,MessageBoxIcon::Asterisk);				if (MessageBox::Show("Do you want to exit?","My Application", MessageBoxButtons::YesNo,MessageBoxIcon::Question)==::DialogResult::Yes)
				{
				Application::Exit();
				}

زمان کامپایل شدن خطا میده میگه:

کد:
error C2065: 'Yes' : undeclared identifier


برای Windows Form Application دارم مینویسم!
 

iaidin

عضو جدید
دوستان مشکل این چیه؟

کد:
 MessageBox::Show("The operation has been completed ","Notification", MessageBoxButtons::OKCancel,MessageBoxIcon::Asterisk);                if (MessageBox::Show("Do you want to exit?","My Application", MessageBoxButtons::YesNo,MessageBoxIcon::Question)==::DialogResult::Yes)
                {
                Application::Exit();
                }

زمان کامپایل شدن خطا میده میگه:

کد:
error C2065: 'Yes' : undeclared identifier


برای Windows Form Application دارم مینویسم!

این را بررسی کنید:

کد:
    System::Windows::Forms::DialogResult mbResult = MessageBox::Show(this, "text", "Title",
    MessageBoxButtons::YesNo, MessageBoxIcon::Warning);
    if(System::Windows::Forms::DialogResult::Yes == result)
    {
    this->Close();
    }
 

iut.ali

عضو جدید
سلام کسی میدونه چطوری میشه یه متغیری داشت که یه عدد با یه حجم زیاد بگیره یعنی کار با long long و این چیزا هم حل نشه البته بعدش نیاز دارم که بتونم روشون اعمال اصلی رو انجام بدم ممنون
 

iaidin

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

iaidin

عضو جدید
سلام کسی میدونه چطوری میشه یه متغیری داشت که یه عدد با یه حجم زیاد بگیره یعنی کار با long long و این چیزا هم حل نشه البته بعدش نیاز دارم که بتونم روشون اعمال اصلی رو انجام بدم ممنون
کد عملیات جمع را داشتم و براتون میگذارم:
کد:
int carry=0;
int sum;
for(i=lenth-1;i>=0;i--)
{
 sum=a[i]+b[i]+carry;
 c[i]=sum%10;
 carry=sum/10;
}
 

aliale94

عضو جدید
سلام دوستان ۲ تا سوال داشتم
۱.برنامه ای بنویسید که یک جمله کوتاه را از ورودی خوانده انتهای جمله با نقطه مشخص شود سپس جمله را به کد اسکی تبدیل کرده و در خروجی چاپ کند.
۲. روش تبدیل پسوند ++c به exe برای ایمیل کردن؟
با تشکر
 

iaidin

عضو جدید
سلام دوستان ۲ تا سوال داشتم
۱.برنامه ای بنویسید که یک جمله کوتاه را از ورودی خوانده انتهای جمله با نقطه مشخص شود سپس جمله را به کد اسکی تبدیل کرده و در خروجی چاپ کند.
۲. روش تبدیل پسوند ++c به exe برای ایمیل کردن؟
با تشکر

پاسخ سوال اول:

کد:
    #include <iostream.h>
    int main()
    {
    char word[32];
    int x = 0;
    cout << "enter the string:\n";
    cin >> word;
    cout << "The ASCII for this word is:\n";
    while (word[x] != '\0')...
    {
    cout << int(word[x]); 
    x++;
    }
    cout << "\n";
    return 0;
    }

سوال دوم شما را متوجه نشدم
 
آخرین ویرایش:

aliale94

عضو جدید
خیلی ممنون
و اما سوال دوم منظورم اینه که شما وقتی این برنامه رو save میکنی با پسوند cpp. ذخیره میشه اگه بخوایم که پسوندش رو تبدیل به exe. کنیم باید چه کاری کرد؟
 

iaidin

عضو جدید
خیلی ممنون
و اما سوال دوم منظورم اینه که شما وقتی این برنامه رو save میکنی با پسوند cpp. ذخیره میشه اگه بخوایم که پسوندش رو تبدیل به exe. کنیم باید چه کاری کرد؟
دوست عزیز برای بدست آوردن فایل exe برنامه خود کافیه پس از اینکه پروژه را کامپیایل و اجرا کردید به مسیر پروژه خود بروید و در اون قسمت فایل اجرایی پروژه خودتون وجود داره.
 

pooria.ae

عضو جدید
سلام دوستان یه سوال دارم
چجوری میشه وقتی 2 تا عدد که وارد می کنی میخوای ضربشون کنی اگه اعشاری بودن تو خروجی با همون دقت رقم ورودی ها چاپ بشه؟
مثلا وقتی مینویسی 12.2 * 3.6 حاصل بشه 43.92 نه اینکه تو خروجی اینجوری باشخ 43.920000 (اینم بگم که اعداد از کاربر گرفته میشن)
 

iaidin

عضو جدید
سلام دوستان یه سوال دارم
چجوری میشه وقتی 2 تا عدد که وارد می کنی میخوای ضربشون کنی اگه اعشاری بودن تو خروجی با همون دقت رقم ورودی ها چاپ بشه؟
مثلا وقتی مینویسی 12.2 * 3.6 حاصل بشه 43.92 نه اینکه تو خروجی اینجوری باشخ 43.920000 (اینم بگم که اعداد از کاربر گرفته میشن)

کد:
#include <stdio.h>

int main (void) {
    float f = 124.0000;
    float n = 124.123000;

    if (f == (int) f) {
        printf("%.1f\n", f);
    } else {
        printf("%g\n", f);
    }

    if (n == (int) n) {
        printf("%.1f\n", n);
    } else {
        printf("%g\n", n);
    }
    return 0;
}

خروجی
کد:
124.0
  124.123
 

aliale94

عضو جدید
(
.برنامه ای بنویسید که یک جمله کوتاه را از ورودی خوانده انتهای جمله با نقطه مشخص شود سپس جمله را به کد اسکی تبدیل کرده و در خروجی چاپ کند
ببخشید میشه این برنامه رو ساده بنویسید به وسیله حلقه for و بدون تابع چون ما تابع رو نخوندیم
 
آخرین ویرایش:

iaidin

عضو جدید
پاسخ سوال اول:

کد:
    #include <iostream.h>
    int main()
    {
    char word[32];
    int x = 0;
    cout << "enter the string:\n";
    cin >> word;
    cout << "The ASCII for this word is:\n";
    while (word[x] != '\0')...
    {
    cout << int(word[x]); 
    x++;
    }
    cout << "\n";
    return 0;
    }

سوال دوم شما را متوجه نشدم

(
.برنامه ای بنویسید که یک جمله کوتاه را از ورودی خوانده انتهای جمله با نقطه مشخص شود سپس جمله را به کد اسکی تبدیل کرده و در خروجی چاپ کند
ببخشید میشه این برنامه رو ساده بنویسید به وسیله حلقه for و بدون تابع چون ما تابع رو نخوندیم
دوست عزیز من هم بدون تابع پاسخ داده بودم. از طرف دیگه با توجه به اینکه طول رشته مشخص نیست به جای For از While استفاده شده است. البته شما میتونید از حلقه For استفاده کنید و ابتدای حلقه رسیدن به آخر جمله (نقطه) را بررسی کنید.
 

dariushkhan

عضو جدید
سلام دوستان. من یه سوال خیلی ساده داشتم. میخواستم بدونم محیط برنامه C++ چطوری باز میشه؟
 

Aydin_

عضو جدید
سلام دوستان. من یه سوال خیلی ساده داشتم. میخواستم بدونم محیط برنامه C++ چطوری باز میشه؟

++c یه زبان برنامه نویسیه نه اسم یه برنامه
منظورتون دقیقا کدوم برنامه ست؟
ویژوال استودیو ؟ بورلند ؟ توربو سی ؟ dev ؟ code black ؟ .....
 

iut.ali

عضو جدید
سلام من دنبال راه حلی میگردم که بتونم با اعداد بزرگ که حتی long long هم نتونه اونا رو تو خودش نگه داره کار کنم البته راه حل هایی هم بم پیشنهاد دادن مث کتابخونه ی gmp یا انجام عملیات با strings ولی باید به گونه ای باشه که خروجی عدد صحیح باشه و خودمم پیاده سازیش کنم ممنون میشم اگه کمکم کنید
 

behnam5670

عضو جدید
کاربر ممتاز
سلام من دنبال راه حلی میگردم که بتونم با اعداد بزرگ که حتی long long هم نتونه اونا رو تو خودش نگه داره کار کنم البته راه حل هایی هم بم پیشنهاد دادن مث کتابخونه ی gmp یا انجام عملیات با strings ولی باید به گونه ای باشه که خروجی عدد صحیح باشه و خودمم پیاده سازیش کنم ممنون میشم اگه کمکم کنید

اینکه میگی هم عدد صحیح باشه هم عدد بزرگ تناقض داره. باید حتماً از String استفاده کنی. همه‌ی لایبری‌هایی که با اعداد بزرگ سر و کار دارند، اعداد رو به صورت رشته می‌گیرند.
اگه خودت بخوای بنویسی هم آخرش چیزی بهتر از GMP از آب در نمیاد. میتونی از پیاده‌سازی GMP یا لایبری‌های ساده‌ی مشابه ایده بگیری چون این کلاسی که تو در نظر میگیری احتمالاً باید به گونه‌ای باشه که بتونه به یه int (مثلاً) cast باشه یا بشه با دستور cout << چاپ کرد و ...
 

Aydin_

عضو جدید
سلام من دنبال راه حلی میگردم که بتونم با اعداد بزرگ که حتی long long هم نتونه اونا رو تو خودش نگه داره کار کنم البته راه حل هایی هم بم پیشنهاد دادن مث کتابخونه ی gmp یا انجام عملیات با strings ولی باید به گونه ای باشه که خروجی عدد صحیح باشه و خودمم پیاده سازیش کنم ممنون میشم اگه کمکم کنید

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

شاید اگر رو الگوریتمهایی مثل تقسیم و غلبه هم فکر کنید بتونید به جوابی برسید
 

alireza_ra_001

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


# include <iostream.h>
# include <conio.h>
int main(){
clrscr();
int count=2,num;
cout<<"Enter the number that you want to know It's prime or not! : ";
cin>>num;

t1:
if((num/count)==int(num/count)) {
cout<<"The number is NOT a prime number!!";
}
else{
++count;
if(count<= (num/2)) {
goto t1;
}
else{
cout<<"The number is a prime number!!";
}
}

getch();
return 0;
}
 

adampirareza

عضو جدید
سلام.میخواستم ببینم کسی میتونه در نوشتن کد حل ماتریس سه قطری بلوکی به زبان C++ بهم کمک کنه؟
 

iaidin

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


# include <iostream.h>
# include <conio.h>
int main(){
clrscr();
int count=2,num;
cout<<"Enter the number that you want to know It's prime or not! : ";
cin>>num;

t1:
if((num/count)==int(num/count)) {
cout<<"The number is NOT a prime number!!";
}
else{
++count;
if(count<= (num/2)) {
goto t1;
}
else{
cout<<"The number is a prime number!!";
}
}

getch();
return 0;
}
کد برنامه اول زیاد توی باشگاه تکرار شده
اون را به صورت بازگشتی بنویسید.
 

sungift143

عضو جدید
سلام دوستان..
سال نوتون مبارک

میخواستم بدونم این سوال منظورش مجموع این جمله هاست؟؟؟
برنامهاي بنویسید که عدد n را از ورودی دریافت کرده و عدد p را از روی فرمول زیر چاپ کند
P = 4 – 4/3+4/5-4/7+4/9 + … +4/n
 

iaidin

عضو جدید
سلام دوستان..
سال نوتون مبارک

میخواستم بدونم این سوال منظورش مجموع این جمله هاست؟؟؟
برنامهاي بنویسید که عدد n را از ورودی دریافت کرده و عدد p را از روی فرمول زیر چاپ کند
P = 4 – 4/3+4/5-4/7+4/9 + … +4/n

ابتدا بایستی سری را محاسبه کنید و در اون فرمول بدست آمده مقدار n را قرار بدید تا p بدست بیاد
 

hamid panahi

عضو جدید
سلام دوستان.بعد از اینکه visual studio رو نصب کردم و خواستم اولین بار یه برنامه رو اجرا کنم این خطا رو میده
++is not recognized as an internal or external command operable program or batch file c"..."
میتونید راهنماییم کنید چیکار باید بکنم؟
 

en.dariush

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

محاسبه ارتفاع درخت به صورت بازگشتی

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

iaidin

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

بفرمایید:


#include<stdio.h>
#include<stdlib.h>


/* A binary tree node has data, pointer to left child
and a pointer to right child */
struct node
{
int data;
struct node* left;
struct node* right;
};

/* Compute the "maxDepth" of a tree -- the number of
nodes along the longest path from the root node
down to the farthest leaf node.*/
int maxDepth(struct node* node)
{
if (node==NULL)
return 0;
else
{
/* compute the depth of each subtree */
int lDepth = maxDepth(node->left);
int rDepth = maxDepth(node->right);

/* use the larger one */
if (lDepth > rDepth)
return(lDepth+1);
else return(rDepth+1);
}
}

/* Helper function that allocates a new node with the
given data and NULL left and right pointers. */
struct node* newNode(int data)
{
struct node* node = (struct node*)
malloc(sizeof(struct node));
node->data = data;
node->left = NULL;
node->right = NULL;

return(node);
}

int main()
{
struct node *root = newNode(1);

root->left = newNode(2);
root->right = newNode(3);
root->left->left = newNode(4);
root->left->right = newNode(5);

printf("Hight of tree is %d", maxDepth(root));

getchar();
return 0;
}
 

Similar threads

بالا