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

كيف أعرف object of array من structure

مغلق
بدأه نسرونيتا في 14 ديسمبر 2006 · 5 رد · 973 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عرفت في برنامجي struct

واريد ان اعرف اوبجكت من هذا الستركتشر

وهو هكذا

str S=new str ();x

هل هذا صحيح

وكيف اعرف مثل السابق ولكن بمصفوفة

هكذا

str S[10]=new str();x

هل هذا التعريف صحيح

كيف استخدمه في loop عادي ولا فيه طريقة اخرى غير هذه

S[1].num=10

هذا مثال على افتراض اني عرفت داخل الستركتشر num

#2

و لماذا تعمل منه object؟ الستركتشر يمكن استخدامها مباشرة و يمكن إستخدامها في مصفوفة كما هي.

#3

ممكن اعرف كيف استخدمها بدون ما اعرف اوبجكت

لاني اريد استخدامها في ترتيب البيانات اللي داخل الستركتشر على حسب بيان واحد وهو التكلفة هكذا

struct mst { public int size,row,col,[,]edge

}

حيث ان الedge هي التي ستخزن بها قيمة الكوست بعد ذلك عرفت

mst tree=new mst();x

int counter=0;

private void button4_Click(object sender, System.EventArgs e)x

tree.size=int.Parse(Nnode.Text);x

tree.row=int.Parse(Fnode.Text);x

tree.col=int.Parse(Snode.Text);x

if(tree.row>=tree.size||tree.col>=tree.size)

MessageBox.Show("Error There Is not node Hase this Number");x

else{ tree.edges[tree.row,tree.col]=int.Parse(Cedge.Text);x

counter++;x

Fnode.Clear();x

Snode.Clear();x

Cedge.Clear();x

}

بعد ما يتم ادخال كل البيانات اريد ترتيبها على حسب تكلفة الادج كيف يتم ذلك ممكن تساعدوني وهل هناك دالة جاهزة للترتيب مع العلم اني اريد الترتيب من الصغير الى الكبير

سؤال اخر وهو كيف احدد العنصر الموجود في ال الستركتشر هل لابد من تعريف متغير عادي ام لابد من تعريف اري

ساعدوني اثابكم الله

#4

السترتكتشر يتم تعريفها كأي value type مثل الـinteger و غيره و تعريف مصفوفة منه بنفس الطريقة أيضاً. يمكن جداً أن تحددي عنصر من عناصر الستركتشر ليكون الـindex. أما عن طريقة الترتيب فهناك عدة خوارزميات للقيام بهذا. قومي بعملية بحث عن sorting algorithms

#5

اشكرك اخي على استجابتك ...

فعلا يوجد عدة طرق للترتيب ...والطريقة التي اريد استخدامها انه

الدخول في لوب ومن ثم يتم اختبار العنصر الأول بالعنصر الذي يسبقه مباشرة اذاكان اصغر او اكبر او على حسب ما اريد

مع العلم انه لابد من تعريف متغير لنضع فيه القيم في حال كان العنصر الأول أكبر من الثاني ...

ويتم التبادل ....

ولكن ما اريده يا اخي العزيز هل المتغير الذي نضع فيه القيمة ليتم التبادل يكون متغير انتجر عادي ام array

مع العلم اني سوف يتم التبادل في جميع ما يحتوي عليه الـstruct

ولكن المقارنة التي ستحدث في البداية سوف تكون بعنصر معين في الستركتشر ..

وكيف يكون صيغة الكود الذي يتم فيه تبادل الستركتشر هل هو هكذا

على حسب المثال السابق

int X;

for(int i=100;i>=100;i++)x

{if(tree.edge>tree.edge[i+1])x

tree.edge=X

X=tree.edge[i+1]x

tree.edge[i+1]=tree.edgex

هذا الكود خاطئ واريد ان تصححه معي ...

بحيث اني قارنت في البداية بين العنصر الاول للدج والعنصر الثاني للادج مع العلم بان تعريف الادج في الستركتشر مصفوفة ذات بعدين ...كيف اصحح هذا الخطأ

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

اذا ما وضحت الفكرة بلغني لاني من جد اريد احد ان يساعدني فيه باقرب وقت ممكن ...جزاك الله خير ...

#6
نسرونيتا كتب:
اشكرك اخي على استجابتك ...

فعلا يوجد عدة طرق للترتيب ...والطريقة التي اريد استخدامها انه

الدخول في لوب ومن ثم يتم اختبار العنصر الأول بالعنصر الذي يسبقه مباشرة اذاكان اصغر او اكبر او على حسب ما اريد

مع العلم انه لابد من تعريف متغير لنضع فيه القيم في حال كان العنصر الأول أكبر من الثاني ...

ويتم التبادل ....

ولكن ما اريده يا اخي العزيز هل المتغير الذي نضع فيه القيمة ليتم التبادل يكون متغير انتجر عادي ام array

مع العلم اني سوف يتم التبادل في جميع ما يحتوي عليه الـstruct

إذن يكون من نفس نوع الstruct و قيمة واحدة فقط.

نسرونيتا كتب:
ولكن المقارنة التي ستحدث في البداية سوف تكون بعنصر معين في الستركتشر ..

وكيف يكون صيغة الكود الذي يتم فيه تبادل الستركتشر هل هو هكذا

على حسب المثال السابق

int X;

for(int i=100;i>=100;i++)x

{if(tree.edge>tree.edge[i+1])x

tree.edge=X

X=tree.edge[i+1]x

tree.edge[i+1]=tree.edgex

هذا الكود خاطئ واريد ان تصححه معي ...

بحيث اني قارنت في البداية بين العنصر الاول للدج والعنصر الثاني للادج مع العلم بان تعريف الادج في الستركتشر مصفوفة ذات بعدين ...كيف اصحح هذا الخطأ

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

اذا ما وضحت الفكرة بلغني لاني من جد اريد احد ان يساعدني فيه باقرب وقت ممكن ...جزاك الله خير ...

المتغير x يجب أن يكون من نفس نوع السترتكشر. أي شئ من هذا القبيل

tree x;

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

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