Presentation is loading. Please wait.

Presentation is loading. Please wait.

آرايه Array آرايه مجموعه اى از متغيرهاى از يك نوع است كه با يك نام مشترك تحت استفاده قرار مى گيرند. يك عنصر بخصوص در يك آرايه با يك index (انديس ) مورد.

Similar presentations


Presentation on theme: "آرايه Array آرايه مجموعه اى از متغيرهاى از يك نوع است كه با يك نام مشترك تحت استفاده قرار مى گيرند. يك عنصر بخصوص در يك آرايه با يك index (انديس ) مورد."— Presentation transcript:

1 آرايه Array آرايه مجموعه اى از متغيرهاى از يك نوع است كه با يك نام مشترك تحت استفاده قرار مى گيرند. يك عنصر بخصوص در يك آرايه با يك index (انديس ) مورد دستيابى قرار مى گيرد. در Cتمام عناصر آرايه از مكانهاى مجاور ( بهم چسبيده ) حافظه تشكيل مى گردند. كوچكترين آدرس ، آدرس عنصر اول است. بزرگترين آدرس متناظر آخرين عنصر است. آرايه ها مى توانند يك بعدى يا چند بعدى باشند. آرايه هاى يک بعدى فرم كلى آرايه يک بعدى به اين صورت است : type array-name[ size ] ; همان نوع پايه است كه نوع هر عنصر آرايه است. type اندازه ( size )مى گويد آرايه چند عنصر درون خود خواهد داشت. انديس اولين عنصر هر آرايه ، صفر مى باشد.

2 مثال : اگر بگوييدint x[10] ; x به عنوان يك آرايه با 10 عنصر معرفى شده لذا عناصرش x[0], x[1], x[2], …, x[9] مى باشد. عنصر آدرس 0123456701234567 1000 1002 1004 1006 1008 1010 1012 1014 عنصر آدرس 8989 1016 1018 اگر x در حافظه از آدرس 1000 شروع شده باشد آنگاه :

3 مثال : #include main( ) { int x[10] ; int t ; for ( t = 0 ; t < 10 ; ++t ) x[ t ] = t ; for ( t = 0 ; t < 10 ; ++t ) printf(“x[%d]= %d\n”,t, x[t]); }

4 sizeof(type) * length of array total bytes = char interest[10] ; كل اندازه آرايه از فرمول زير بدست مى آيد : مثال : int id[4] ; 1 x 10 = 10 مثال : 2 x 4 = 8

5 Sizeof1.C برنامه مثال : #include main() { int x[10], num ; clrscr(); printf("size of int is %d \n", sizeof(int)); printf("size of float is %d \n", sizeof(float)); printf("size of double is %d \n", sizeof(double)); printf("size of long double is %d \n", sizeof(long double)); printf("size of long int is %d \n", sizeof(long int)); printf("size of num is %d \n\n", sizeof(num)); printf("size of x is %d \n\n", sizeof(x) ); } size of int is 2 size of float is 4 size of double is 8 size of long double is 10 size of long int is 4 size of num is 2 size of x is 20 size of int is 2 نتيجه اجرا

6 x X[0] X[1] X[8] y y[0] y[1] y[8] x + y X[0] + y[0] X[1] + y[1] X[8] + y[8]

7 #define MAX 100 #include main() { /* sum of two vectors */ int i, n; double x[MAX], y[MAX] ; printf(“ n ? \n”); scanf(“%d”, &n) ; printf(“please enter the values of the first vector:\n”) ; for (i = 0 ; i < n ; i++ ) { printf(“x[%d] ? \t “, i ) ; scanf(“%lf”, &x[i]) ; } printf(“please enter the values of the second vector:\n”) ; for (i = 0 ; i < n ; i++ ) { printf(“y[%d] ? \t “, i ) ; scanf(“%lf”, &y[i]) ; } برنامه جمع دو بردار

8 for (i = 0 ; i < n ; i++ ) printf(“sum[%d] = %.0f \n”, i, x[i] + y[i] ) ; }

9 toupper(ch) = اگر ch يك حرف كوچك باشدمعادل بزرگ ch در غير اينصورت ch #include

10 tolower(ch) = اگر ch يك حرف بزرگ باشدمعادل كوچكch در غير اينصورت ch #include

11 #define MAX 100 #include main() { /* sum of two vectors */ int i, n, cyesno ; double x[MAX], y[MAX] ;

12 for(cyesno = 'Y' ; cyesno == 'Y' ; ) { clrscr(); printf(" n ? \n"); scanf("%d", &n) ; printf("please enter the values of the first vector:\n") ; for (i = 0 ; i < n ; i++ ) { printf("x[%d] ? \t ", i ) ; scanf("%lf", &x[i]) ; } printf("please enter the values of the second vector:\n") ; for (i = 0 ; i < n ; i++ ) { printf("y[%d] ? \t ", i ) ; scanf("%lf", &y[i]) ; } for (i = 0 ; i < n ; i++ ) printf("sum[%d] = %.0f \n", i, x[i] + y[i] ) ; printf("do you want to sum other vectors ? Y/N\t"); cyesno = toupper(getche()); } }

13 آرايه هاى داراى ابعاد بالاتر : type array-name [ size1 ] [ size2 ] …. [size n ] ; مثال : int a[2][3] ; a 00 a 01 a 02 a 10 a 11 a 12 مثال : int b[2][2] ; b 00 b 01 b 10 b 11

14 در زبان C ماتريس دو بعدى در حافظه بصورت سطرى نگهدارى مى شود :نكته : a 00 a01a01 a02a02 a10a10 a 11 a 12 مثال :برنامه محاسبه جمع دو ماتريس : #include #define MAX 100 main ( ) { int m, n, i, j ; double a[MAX][MAX], b[MAX][MAX] ;

15 1- شروع 2- m را از ورودي دريافت كن 3- n را از ورودي دريافت كن 4- مقادير ماتريس اول ( A ) را از ورودي دريافت كن 5- مقادير ماتريس دوم ( B ) را از ورودي دريافت كن 6- مقادير ماتريسهاي A و B را با هم جمع و چاپ كن 7- پايان

16 printf ( “ number of rows of matrices : m ?\t “ ) ; scanf(“%d”, &m ) ; printf ( “ number of columns of matrices : n ?\t “ ) ; scanf(“%d”, &n ) ; printf(“ Enter aij \‘s members of the first matrix :A \n”) ; for ( i = 0 ; i < m ; i++ ) for ( j = 0 ; j < n ; j++ ) { printf( “ a[%d][%d] ? \t”, i, j ) ; scanf( “%lf”, &a[i][j] ) ; } printf(“ Enter bij \‘s members of the second matrix :B \n”) ; for ( i = 0 ; i < m ; i++ ) for ( j = 0 ; j < n ; j++ ) { printf( “ b[%d][%d] ? \t”, i, j ) ; scanf( “%lf”, &b[i][j] ) ; }

17 for ( i = 0 ; i < m ; i++ ) for ( j = 0 ; j < n ; j++ ) printf( “ sum[%d][%d] = %lf\n”, i, j, a[i][j] + b[i][j] ) ; }

18 انواع خطاها Kinds of Errors 1- Syntax error خطاى نحوى 2- linker error خطاى اتصال دهنده 3- Run-time error خطاى زمان اجرا 4- Logical error خطاى منطقى Debugرفع اشكال Bug اشكال Moduleبسته ، تكه Maintance Support

19 تابع function آرايه Array خيلي خيلي خيلي مهم خيلي خيلي مهم

20 sin п0 return ضابطه Function عملكرد f(x) = sin(x) f xx2x2 f(x) = x2x2 f(t) = t2t2 به x يا t پارامتر ظاهري تابع مي گويندFormal parameter به п پارامتر واقعي تابع مي گويندActual parameter تابع Function

21 sin sqrt(4) √4 cos square root log10(100) 2 tan return value مقدار بازگشتي asin acos atan atan2(y,x) cast

22 2 5 2 * 2 * 2 * 2 * 2 5 base n base * base * base … * base n

23 #include main() { int n; do { scanf(“%d”, &n); if( n < 0 ) printf(“Enter a positive integer number: ”); } while( n < 0 ) printf(“%lf”, sqrt( (double) n); }

24 #include int power( int, int); /* test power function */ main( ) { int i ; for ( i = 0 ; i < 10 ; i++ ) printf(“%d %d %d\n”, i, power(2, i), power(-3, i) ); return 0 ; } Function Call فراخوانى تابع insert mode مثال :تابع توان تابع Function

25 /* power : raise base to n-th power ; n >= 0 */ int power (int base, int n ) { int i, p; for ( p = 1, i = 1 ; i <= n ; ++i ) p = p * base ; n = 20; return p; } double sqrt(double x)

26 return-type function-name(parameter declaration,if any) { declarations statements } تعريف تابع :

27 Actual parameters َ پارامترهاى واقعى arguments آرگومان Formal parameters پارامترهاى رسمى parameter Call by value فراخوانى توسط مقدار

28 pow(x, y) function prototype نمونه اوليه 2 ** 3 2 ^ 3 math.h Mathematics #include

29 Character Ascii Code 0 48 ‘0’ 1 49 ‘1’ 2 50 9 57 ‘9’

30 #include /* count digits, White space, others */ main( ) { int c, i, nwhite, nother ; int ndigit[10] ; nwhite = nother = 0 ; for ( i= 0; i < 10 ; ++i ) ndigit[ i ] = 0 ;

31 while ( ( c = getchar() ) != EOF ) if ( c >= ‘0’ && c <= ‘9’ ) ++ndigit[ c – ‘0’ ] ; else if ( c == ‘ ‘ || c== ‘\n’ || c== ‘\t’ ) ++nwhite ; else ++nother ; printf(”digits = “ ) ; for ( i = 0 ; i < 10 ; ++i ) printf(“ %d”, ndigit[ i ] ); printf( “, white space = %d, other = %d\n”, nwhite, nother ) ; }


Download ppt "آرايه Array آرايه مجموعه اى از متغيرهاى از يك نوع است كه با يك نام مشترك تحت استفاده قرار مى گيرند. يك عنصر بخصوص در يك آرايه با يك index (انديس ) مورد."

Similar presentations


Ads by Google