פתרון מלוי מערך void fill_array(int array[], int size) { int i; srand(time(NULL)); for (i = 0; i < size; i++) array[i] = rand()/327; }
פתרון הדפסת מערך void print_array(int array[], int size) { int i; for (i = 0; i < size; i++) printf("%d ", array[i]); printf("n"); }
פתרון הפיכת מערך void reverse_array(int array[], int size) { int i; for (i = 0; i < size/2; i++) swap(&array[i], &array[size - 1 - i]); }
#include <stdio. h> #include <stdlib. h> #include <time. h> #define SIZE 5 void fill_array(int array[], int size); void reverse_array(int array[], int size); void print_array(int array[], int size); void swap(int *a, int *b); int main() { int my_arr[SIZE]; fill_array(my_arr, SIZE); print_array(my_arr, SIZE); reverse_array(my_arr, SIZE); print_array(my_arr, SIZE); return 0; }
חשבון מצביעים reverse_array(my_arr, my_arr + SIZE -1); void reverse_array(int *begin, int *end) { while (begin < end) { swap(begin, end); begin++; אז int בגלל שהמצביע מסוג לפי הגודל 4 יודע לקדם ב ++ end--; . int של } } ae begin d r e a end
הפיכה רקורסיבית של המערך reverse_array(my_arr, my_arr + SIZE -1); void reverse_array(int *begin, int *end) { if (begin < end) { swap(begin, end); reverse_array(begin + 1, end - 1); } }
int *find. Sub. Array(int *array, int array_size, int *sub_array, int sub_size) { int i, j; for (i = 0; i < array_size; i++) { for (j = 0; j < sub_size; ++j) if ( *(array + i + j) != sub_array[j]) break; if (j == sub_size) return array+i; } return NULL; }
קלט b 35 22 445 פלט ] &a[4 a 15 35 100 11 22 445 3 1
#include <stdio. h> int strlen (const char * str) { const char *eos = str; while( *eos++ ) ; return( eos - str - 1 ); } int main() { char str[]="Liam"; printf("%d", strlen(str)); } ? מה קורה פה 100 101 102 103 104 105 106 a str r t w n ‘ ’ eos
int word_cnt (const char *s) { int cnt = 0; const char *next = s + 1; if (*s == '