الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في كود بوينتر

بدأه ريموو .. في 12 يونيو 2009 · 4 رد · 434 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

السؤال هو ..

Find then correct the syntax and logical errors in the following programs:

والكود ..

#include<iostream>

using namespace std;

int main(){

double x=3,y=9,z=6;

double* dblPtr1,dblPtr2,dblPtr3;

dblPtr1=&x,dblPtr2=&y,dblPtr3=&z;

*dblPtr1=8;

*dblPtr2=5

*dblPtr3=7

cout<<"x="<<x<<" "<<"*dblPtr1="<<*dblPtr1<<endl

<<"y="<<y<<" "<<"*db1Ptr2="<<*dblPtr2<<endl

<<"z="<<z<<" "<<"*db1Ptr3="<<*dblPtr3<<endl;

return 0;

}

بحيث يكون الآوت بوت ..

x=8 *dblPtr1=8

y=9 *db1Ptr2=5

z=6 *db1Ptr3=7

تصحيحي هو ..

#include<iostream>

using namespace std;

int main(){

int x=3,y=9,z=6;

int *dblPtr1=&x,*dblPtr2=&y ,*dblPtr3=&z;

dblPtr1=&x,dblPtr2=&y,dblPtr3=&z;

*dblPtr1=8;

*dblPtr2=5;

*dblPtr3=7;

cout<<"x="<<x<<" "<<"*dblPtr1="<<*dblPtr1<<endl

<<"y="<<y<<" "<<"*db1Ptr2="<<*dblPtr2<<endl

<<"z="<<z<<" "<<"*db1Ptr3="<<*dblPtr3<<endl;

return 0;

}

بس الاوت بوت يطلع لي ..غير المطلوب

يطلع لي ..

x=8 *dblPtr1=8

y=5 *db1Ptr2=5

z=7 *db1Ptr3=7

ايش الخطأ اللي ما انتبهت له جزاكم الله خيرا ً

تم تعديل هذه المشاركة بواسطة ريموو .. في 12 يونيو 2009 في 03:53

#2

السلام عليكم

فى برنامجك تم الربط بين المؤشرات الثلاثه والمتغيرات a,b,c

فعندما يتغير ما يشير اليه المؤشر فبالتأكيد تتغير قيم المتغيرات

ممكن اجراء تعديل على الكود كالآتى

#include<iostream>
using namespace std;
int main(){
int x=3,y=9,z=6;
int *dblPtr1,*dblPtr2 ,*dblPtr3;
dblPtr1=new int(8);
dblPtr2=new int(5);
dblPtr3=new int(7);
cout<<"x="<<x+5<<" "<<"*dblPtr1="<<*dblPtr1<<endl
<<"y="<<y<<" "<<"*db1Ptr2="<<*dblPtr2<<endl
<<"z="<<z<<" "<<"*db1Ptr3="<<*dblPtr3<<endl;
return 0;
}

سلام

تم تعديل هذه المشاركة بواسطة amin_mu123 في 12 يونيو 2009 في 11:11

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#3

الله يعطيك الف عافيه اخوي .. بس ممكن تفهمني هذي ؟؟

dblPtr1=new int(8);

dblPtr2=new int(5);

dblPtr3=new int(7);

يعني ايش سويت هنا ؟؟ وايش عمل الداله

new

وهل ممكن تنحل بطريقه ثانية ...

وجزاك الله كل خير

#4

السلام عليكم

أخوى new ليس داله ولكنه معامل operator وظيفته تكوين متغير جديد او مصفوفه بإستخدام المؤشرات

طريقه أخرى

#include<iostream>
using namespace std;
int main(){
int x=3,y=9,z=6;
int *dblPtr1=&x,*dblPtr2=&y ,*dblPtr3=&z;
cout<<"x="<<x+5<<" "<<"*dblPtr1="<<*dblPtr1+5<<endl
<<"y="<<y<<" "<<"*db1Ptr2="<<*dblPtr2-4<<endl
<<"z="<<z<<" "<<"*db1Ptr3="<<*dblPtr3+1<<endl;
return 0;
}

سلام

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#5

جزاك الله كل خير ...

شكرا ً لك

مواضيع مشابهة