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

اخوكم مبتديء غلبان..هل من مساعدة؟

مغلق
بدأه الفـارس في 21 أكتوبر 2001 · 5 رد · 450 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم..

اخواني روادالـC++ اريدتحويل هذا الكود من الباسكال الـC++ ارجوا منكم المساعدة فأنا مبتديء؟

TYPE

vertex=record

x,y:real

end;

varray=array[1..25] of vertex;{vertex list

bdy=record

limit:real;{window edge value

side: (top,bottom,left,right)

end;



Function inside(pt:vertex:edge:bdy):boolean;

{return true if the polygon vertex,pt,is inside the window edge.this is simplified since the window has sides parallel to the x,y coordinate axis}



begin

 with edge  do

 case side of

top:inside:=pt.y<=limit;

bottom:inside:=pt.y>=limit;

left:inside:=pt.x>=limit;

right:inside:=pt.x<=limit

end{case}

end;{inside}



procedure Out(pt:vertex);

{place vertex pt in the polyout array.In performing this,it also increments the size of the vertices in the array}

  begin

outlen:=outlen+1{number of vertices in array}

polyout[outlen]:=pt

   end;{out}

فيه كمان طلب اخير لو تكرمتم:

FUNCTION INUMفي الباسكال ماذا يقابلها في الـC

وكيف نكتب هذه العباره في الـC

(X^2)-(10X)+1|/1,20)|

جزاكم الله كل الخير..وفرج عنكم همومكم..

#2

بالنسبة لسؤالك :

X^2)-(10X)+1|/1,20)|

تكتب بلغة الـ C هكذا :

---------------------

الحالة الأولى : إذا كان التعامل مع أرقام كسرية double داخل القيمة المطلقة

تكتب هكذا ..

(abs(pow(x,2)-(10*x)+1)) / (1.20)
لا تنسى استخدام
#include 
مع الحالة الأولى

-------

وبالنسبة للحالة الثانية : إذا كنت تتعامل مع أعداد صحيحة integers داخل القيمة المطلقة

تكتب هكذا..

(fabs(pow(x,2)-(10*x)+1)) / (1.20)
لاتنسى استخدام كل من
#include 
و
#include 
معاً ، وذلك في الحالة الثانية

وطبعاً لا بد من وجود

#include 
في كلا الحالتين الأولى والثانية

ولكن .. مالفرق بين كتابة الشفرة في كل من الحالتين ؟؟

في الحالة الأولى abs لاحظ

في الحالة الثانية fabs لاحظ
#3

اخوي ملك الشبكات شكرا جزيلا لك ..

#4

لا شكر على واجب ، لا تنساني من دعوة صالحة لي ولجميع المسلمين.

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

#5

هذا تحويل للكود كما هو من باسكال الى سي بلس بلس

typedef struct

{

float x,y;

} vertex;

typedef vertex varray[25]; //vertex list

enum side_enum {top, bottom, left, right};

typedef struct

{

float limit; //window edge value

side_enum side;

} bdy;

bool inside (vertex pt, bdy edge)

{//return true if the polygon vertex,pt,is inside the window edge.this is simplified since the window has sides parallel to the x,y coordinate axis

switch (edge.side)

{

case top : return (pt.y <= edge.limit); break;

case bottom : return (pt.y >= edge.limit); break;

case left : return (pt.x >= edge.limit); break;

case right : return (pt.x <= edge.limit); break;

}

}

void Out(vertex pt)

{//place vertex pt in the polyout array.In performing this,it also increments the size of the vertices in the array

outlen += 1; //{number of vertices in array}

polyout[outlen] = pt;

}

[code2/]

#6

شكرا لك اخي الكريمGoblin3D واجزل الله لك العطاء والثواب..

هذا الموضوع مغلق.

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