السلام عليكم و رحمة الله و بركاته
برنامجي هو ان تدخل اعداد عشوائية في array ثم ادخلها في دالة لكي يتم ترتيبها من الاصغر الى الاكبر
و انا اقوم في البرنامج بطباعة الarray قبل الترتيب و بعد الترتيب
لكن الغريب ان كل الاوامر قبل الدالة التي تقوم بالترتيب يتم تنفيذها لكن الدالة و الاوامر الي بعدها لا يتم تنفيذها
عملت Debug و مشيت مع البرنامج يطلع لي كل شي تمام لكن لما يوصل المؤشر الى الدالة يطلع لي :
---------------------------
Microsoft Visual C++
---------------------------
Unhandled exception in test the rand.exe: 0xC0000005: Access Violation.
---------------------------
OK
---------------------------
و ينهي ال Debug
ارجو الافادة
و هذا هو السورس كود
#include <iostream>
#include <string>
#include <cmath>
#include "bstree.h"
using namespace std;
void bubble_sort(int a[], int n)
{
int i,j;
bool sorted = false;
for(i=n-1;(i>0) && !sorted;i++)
{
for(sorted = true,j=0;j<i;++j)
if(a[j]>a[j+1])
{
swap(a[j],a[j+1]);
sorted=false;
}
}
}
int main()
{
int n=15;
int test[15];
for(int i=0;i<n;i++)
{
test=rand();
}
for(i=0;i<n;i++)
{
cout << test;
cout <<"\n";
}
//////الى هنا يتم تنفيذ كل شيء
bubble_sort(test,n);//////////////////لا يتم مناداة الدالة و لا تنفيذ اي امر بعدها
for(i=0;i<n;i++)
{
cout << test;
cout <<"\n";
}
return 0;
}و السلام عليكم و رحمة الله و بركاته
