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

الكود لم ينتج النواتج صحيحه ؟؟؟؟؟؟؟

مغلق
بدأه essa في 14 ديسمبر 2002 · 11 رد · 918 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أخواني وأخواتي حاولت في هذا الكود اللي يقوم بعمليه ادخال عشرة أرقام عشوائية ويقوم هو بترتيبها عن طريق الـfunction لكن لم أفلح ؟؟؟؟؟

اقتباس
#include

int Input (int a);

int Boble (int B);

//*******************MAIN***********************

int main ()

{

cout << "pleas enter the numbers :" << endl;

int  i , A[10];

for (i=0 ; i<10 ; i++)

 Input(i);

Boble(i);

for (i=0 ; i<10 ; i++)

 cout << A << "   " ;

cout << endl;

return main();

}

//-------------------input---------------------

int Input (int a)

{

int A[10];

cin >> A[a];

return a;

}

//-------------------boble---------------------

int Boble (int B)

{

int j , i , t ,A[10] ;

for (i=0 ; i<10 ; i++)

{

 for (j=0 ; j<=9-i ; j++)

 {

  if(A[j]>A[j+1])

  {

   t=A[j];

   A[j]=A[j+1];

   A[j+1]=t;

  }

 }

}

return b;

}

وطلبي هو تعريفي بأخطائي وتفهيمي لها ... وشكراً

أخوكم عيسى ..

#2
#include <iostream.h>





int Input (int a);

int Boble (int b);



//*******************MAIN***********************

int main ()

{

	cout << "pleas enter the numbers :" << endl;

	int  i , A[10];

	for (i=0; i<10; i++)

  Input(i);

	Boble(i);

	for (i=0; i<10; i++)

  cout << A << "   ";

	cout << endl;

	return main();

}

//-------------------input---------------------



int Input (int a)

{

	int A[10];

	cin >> A[a];

	return a;

}



//-------------------boble---------------------



int Boble (int b)

{

	int j , i , t ,A[10];

	for (i=0; i<10; i++)

	{

  for (j=0; j<=9-i; j++)

  {

 	 if(A[j]>A[j+1])

 	 {

    t=A[j];

    A[j]=A[j+1];

    A[j+1]=t;

 	 }

  }

	}

	return b;

}
#3

من نظرة أولية للكود وجدت عندك خطأ في الدالتين .. وهو ان الدالتين ترجعان نفس القيمة التي تحصل عليها : a بدل من ارجاع [A[a ...و b ..

#4

بس لو أرجعناها[ A [a راح ترجع مصفوفه لقيمه int

بس ألحين أيش الحل فيها؟؟؟

#5
اقتباس
كاتب الرسالة الأصلية : essa

بس لو أرجعناها[ A [a  راح ترجع مصفوفه لقيمه int

بس ألحين أيش الحل فيها؟؟؟

لا لو ارجعهنا[A[a مش راح نكون رجعنا مصفوفة .. بل عضو من اعضاء المصفوفة وهو العضو في الموقع a ...

ثاني شي.. مش لازم دالة منفردة من اجل تلقي رقم ... ضع حلقة عادية من أجل تلقي 10 ارقام.

#6

#include

void Input (int* A);

void Boble (int* A);

void Print_result (int* A);

//*******************MAIN***********************

void main ()

{

cout << "pleas enter the numbers :" << endl;

int *A;

A = new int[10];

Input(A);

Boble(A);

Print_result(A);

cout << endl;

}

//-------------------input---------------------

void Input (int* A)

{

int i;

for ( i=0; i<10; i++) {

cout << " A["<<(i+1)<<"] = ";

cin >> A;

}

}

//-------------------boble---------------------

void Boble (int* A)

{

int j , i , t;

for ( i=0; i<10; i++){

for (j=0 ; j<9 ; j++){

if( A[j] > A[j+1] ){

t = A[j];

A[j] = A[j+1];

A[j+1] = t;

}

}

}

}

//-------------------print---------------------

void Print_result(int* A)

{

int i;

for ( i=0; i<10; i++)

cout << A << " ";

cout << endl;

}

#7

الله يعطيك العافيه أخوي إسماعيل عنجريني بس أشياء عندي بسيطة ما فهمتها ..... اللي هي

1- النجمه اللي سبقت الحرف A هل معناتها أنها تعرف جميع مثيلاتها من الشكل A ???

2- الغريب في الكود اللي أعطيتني أن نهاية كل فنكشن ما يكون فيه return لقيمة معينه ..

3- أشكرك وأصبر علي شوي أنا مبتدئ لكن أنشالله تشوف فيني خير ;);)

#8

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

#include <iostream.h>

#include<conio.h>



int Input (int a);

int Boble (int A[10]);



//*******************MAIN***********************

void main ()

{

  clrscr();

	cout << "pleas enter the numbers :" << endl;

	int i, A[10];

	for (i=0; i<10; i++)

     A= Input(i);

    Boble(A);

   for (i=0; i<10; i++)

     cout <<  A << "   ";

	cout << endl;

	getch();

}

//-------------------input---------------------



int Input (int a)

{

	int A[10];

	cin >> A[a];

	return A[a];

}



//-------------------boble---------------------



int Boble (int A[10])

{

	int j  ,i, t;

	for (i=0; i<9; i++)

  for (j=i+1; j<10; j++)

   	 if(A>A[j])

 	 {

    t=A;

    A=A[j];

    A[j]=t;

 	 }

	return A[j];

}

بالنسبة للنجمة التي سألت عنها هي عبارة عن pointer لكن بما انك مبتدئ يمكن ما درست عن الــpointer شيء......

اما بالنسبة للــfunction ليس شرطا ان ترجع قيمة ممكن اجعلها void و اجعل الــcout في نفس الــfunction ..............

#9

عندما نمرر للدالة البرامتر على هيئة مؤشر فالتغيير الذي يحدث على المتغير يحدث ايضا على القيمة الاصلية.. ولهذا فلا حاجة لإرجاع قيمة.. وان كانت طريقة الارجاع افضل حفاظا على القيمة الاصلية....

#10

الله يعطيكم ألف عافيه ... وأنا فعلا مبتدئ وابي أعرف أكثر عن الــpointer وشكراً

:)

#11

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

الـــpointer (مؤشر) و هو عبارة عن عناوين لمواقع في الذاكرة فمثلا عند تعريف متغيرint h; يحجز له موقع في الذاكرة و اذا اعطينا هذا المتغير قيمة تو ضع القيمة في الموقع الذي انحجز مثلا h=2 توضع 2في الموقع الذي حجزنا للـــh ...... فإذا اردنا الوصول لهذه القيمة ممكن نصل اليها عن طريق المتغير او عن طريق عنوان الموقع الذي تم حجزه و هذا هو المؤشر و لتعريف المؤشر نقوم بإضافة النجمة قبل اسم المتغير كالتالي int * k;

يعني باختصار المؤشر عبارة عن عناوين في الذاكرة

عند استخدام المؤشرات لازم نستخدم الرمز & و هذا يعني الــعنوان ......

يوضح بالمثال اكثر

void main()

{

int   x1=9;

int x2=52;

int * ptr;

ptr=&x1;

cout<<*ptr;  

ptr=&x2;

cout<<*ptr;

}

ptr=&x1;في هذه الحالة و ضعنا عنوان x1في ptr

cout<<*ptr; هنا يطبع محتوى ptr الذي سيكون 9

cout<<*ptr;هنا نفس السابق و سيكون الناتج 52

ملاحظة مهمة جدا لازم احدد عنوان للــpointer لأني اذا لم احدد له عنوان سيحجز عنوان عشوائي ممكن يحجز عنوان تكون فيه تعليمة للكمبيوتر يعني ممكن يعطل جهاز الكمبيوتر ....

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

طريقة تعريف الــnew :مثلا كان نوع المتغيرالذي نريد حجز المكان له int يكون التعريف بهذه الطريقة

int * x;

x=new int;

هذا شرح بسيط عن المؤشرات في ايضا عن المؤشرات مع المصفوفة ....

ان شاء الله اكون استطعت ان اشرح لك ما تريد........

#12

الله يعطيك ألف عافيه على هالشرح الممتاز ...

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…