
نوشته اصلی توسط
donya2000
با سلام ممنون از سایت خوبتون.اگه امکانش باشه برنامه آرایه ها در موردچاپ واضافه وحذف کردن عناصر یک آرایه رو بذارین ممنونتون میشم
با سلام شايد اين مورد بدردتون بخوره
مرتب کردن اطلاعات چه به صورت صعودی يا نزولی ، يکی از مهمترين وظايف کامپيوتر می باشد . به عنوان مثال تعيين رتبه دانش آموزان يک مدرسه بر اساس معدل ، تعيين رتبه شرکت کنندگان در کنکور ، مرتب کردن شماره تلفن ها بر اساس نام صاحب تلفن را می توان نام برد . برای آشنايی با شيوه مرتب کردن ، ليست اعداد زير را در نظر بگيريد :
2 , 5 , 4 , 3 , 6 , 1
برای مرتب کردن ليست اعداد فوق از کوچک به بزرگ آنها را در آرايه ای قرار می دهيم :
کد:
int a[] = { 2 , 5 , 4 , 3 , 6 , 1};
حال کافی است آرايه a را به صورت صعودی مرتب کنيم . برای انجام اين کار از روشی به نام مرتب کردن حبابی استفاده می کنيم . اين تکنيک به دليل اينکه مقادير کوچکتر همانند حبابی در آب به سمت بالا حرکت می کنند ، مرتب کردن حبابی گفته می شود . برای مرتب کردن آرايه چندين بار بايد روی آرايه حرکت کنيم و در هر بار حرکت عناصر دو به دو با هم مقايسه می شوند ، و در صورتی که به صورت نزولی قرار داشته باشند مقاديرشان جابه جا می گردد و در غير اين صورت به همان ترتيب باقی می مانند .
برنامه زير ليست اعداد ذکر شده را به شيوه مرتب کردن حبابی ، از کوچک به بزرگ مرتب می کند .
کد:
#include <iostream.h>
void showArray(const int [] , int); void main() { const int arraySize = 6; int a[ arraySize ] = { 2, 5, 4, 3, 6 ,1}; int hold; cout << "Data items in original order\n"; showArray(a,arraySize); for ( int i = 0; i < arraySize - 1 ; i++ ) for ( int j = 0; j < arraySize - 1; j++ ) if ( a[ j ] > a[ j + 1 ] ) { hold = a[ j ]; a[ j ] = a[ j + 1 ]; a[ j + 1 ] = hold; } cout << "\nData items in ascending order\n"; showArray(a,arraySize); } void showArray( const int array[] ,int arraySize) { for (int c=0; c<arraySize ;c++) cout << array[c] << " "; cout << endl;
}
خروجی برنامه فوق به صورت زير می باشد :
کد:
Data items in original order 2 5 4 3 6 1 Data items in ascending order 1 2 3 4 5 6
در برنامه فوق تابع showArray وظيفه نمايش عناصر آرايه را به عهده دارد . در اولين اجرای دستورات حلقه ها ، i = 0 می باشد . در اولين دور اجرای حلقه داخلی ، با شمارنده j عناصر آرايه به صورت زير با هم مقايسه می شوند .
پس از اولين دور حرکت روی عناصر آرايه، ترتيب اعداد به صورت فوق خواهد شد. سپس i = 1 می گردد و دفعات بعدی مقايسه انجام گرفته و در انتهای هر بار مقايسه ترتيب عناصر به صورت زير می شود . که سرانجام با به انتها رسيدن حرکت روی آرايه عناصر به صورت صعودی مرتب می شوند .