ВУЗ:
Составители:
Рубрика:
friend-ɮɭɧɤɰɢɹ ɡɚɜɢɫɢɬ ɨɬ ɩɚɪɚɦɟɬɪɚ, ɛɭɞɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɫɜɨɹ
friend-ɮɭɧɤɰɢɹ ɞɥɹ ɤɚɠɞɨɝɨ ɡɧɚɱɟɧɢɹ ɩɚɪɚɦɟɬɪɚ.
x ȿɫɥɢ ɜ ɩɚɪɚɦɟɬɪɢɡɨɜɚɧɧɨɦ ɤɥɚɫɫɟ ɢɦɟɸɬɫɹ ɫɬɚɬɢɱɟɫɤɢɟ (
static)
ɤɨɦɩɨɧɟɧɬɵ, ɬɨ ɞɥɹ ɤɚɠɞɨɝɨ ɡɧɚɱɟɧɢɹ ɩɚɪɚɦɟɬɪɚ ɛɭɞɟɬ ɢɫɩɨɥɶɡɨ-
ɜɚɬɶɫɹ ɫɜɨɣ ɷɤɡɟɦɩɥɹɪ ɫɬɚɬɢɱɟɫɤɨɣ ɤɨɦɩɨɧɟɧɬɵ.
6. ɉɪɢɥɨɠɟɧɢɹ
6.1. Ɂɚɞɚɱɢ ɩɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɸ ɧɚ ɹɡɵɤɟ C++
1. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɩɨɞɫɱɟɬɚ ɱɢɫɥɚ ɫɟɪɢɣ ɞɥɢɧɨɣ ɧɟ ɦɟɧɟɟ Ʉ ɩɨɥɨ-
ɠɢɬɟɥɶɧɵɯ, ɨɬɪɢɰɚɬɟɥɶɧɵɯ ɱɢɫɟɥ ɢ ɧɭɥɟɣ ɜ ɨɞɧɨɦɟɪɧɨɦ ɦɚɫɫɢɜɟ ɰɟɥɵɯ
ɱɢɫɟɥ. ɋɟɪɢɟɣ ɧɚɡɵɜɚɟɬɫɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ, ɩɪɢɧɚɞ-
ɥɟɠɚɳɢɯ ɨɞɧɨɦɭ ɤɥɚɫɫɭ:
int series(int n, int *mas, int *kzero, int *kplus,
int *kminus, int k);
2. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɫɥɢɹɧɢɹ ɞɜɭɯ ɭɩɨɪɹɞɨɱɟɧɧɵɯ ɩɨ ɜɨɡɪɚɫɬɚɧɢɸ
ɦɚɫɫɢɜɨɜ ɰɟɥɵɯ ɱɢɫɟɥ:
int merge(int n, int m, int *mas1, int *mas2, int *res);
3. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɩɨɫɬɪɨɟɧɢɹ ɫɩɢɫɤɚ ɢɧɞɟɤɫɨɜ (ɧɨɦɟɪɨɜ), ɫɬɪɨɤ
ɭɩɨɪɹɞɨɱɟɧɧɨɝɨ ɩɨ ɜɨɡɪɚɫɬɚɧɢɸ ɷɥɟɦɟɧɬɨɜ ɡɚɞɚɧɧɨɝɨ (
k-ɝɨ) ɫɬɨɥɛɰɚ ɦɚɬ-
ɪɢɰɵ. ɗɥɟɦɟɧɬɵ ɦɚɬɪɢɰɵ - ɰɟɥɵɟ ɱɢɫɥɚ:
void sort(int n, int *mas, int k, int* index);
4. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɨɩɪɟɞɟɥɟɧɢɹ ɷɥɟɦɟɧɬɚ ɦɚɬɪɢɰɵ, ɹɜɥɹɸɳɟɝɨɫɹ
ɫɟɞɥɨɜɨɣ ɬɨɱɤɨɣ. ɋɟɞɥɨɜɨɣ ɬɨɱɤɨɣ ɧɚɡɵɜɚɟɬɫɹ ɷɥɟɦɟɧɬ, ɭɞɨɜɥɟɬɜɨɪɹɸɳɢɣ
ɭɫɥɨɜɢɹɦ:
a[k,l]=max min(a[i,j])=min max(a[i,j])
i<=n,j<=m j<=m,i<=n
ȿɫɥɢ ɫɟɞɥɨɜɨɣ ɬɨɱɤɢ ɧɟɬ, ɭɫɬɚɧɨɜɢɬɶ
k=l=-1.
5. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɩɨɞɫɱɟɬɚ ɤɨɥɢɱɟɫɬɜɚ ɪɚɡɥɢɱɧɵɯ ɱɢɫɟɥ ɜ ɦɚɫɫɢ-
ɜɟ, ɫɨɞɟɪɠɚɳɟɦ
n ɰɟɥɵɯ ɱɢɫɟɥ.
int count(int *a, int n);
59
friend-ɮɭɧɤɰɢɹ ɡɚɜɢɫɢɬ ɨɬ ɩɚɪɚɦɟɬɪɚ, ɛɭɞɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɫɜɨɹ friend-ɮɭɧɤɰɢɹ ɞɥɹ ɤɚɠɞɨɝɨ ɡɧɚɱɟɧɢɹ ɩɚɪɚɦɟɬɪɚ. x ȿɫɥɢ ɜ ɩɚɪɚɦɟɬɪɢɡɨɜɚɧɧɨɦ ɤɥɚɫɫɟ ɢɦɟɸɬɫɹ ɫɬɚɬɢɱɟɫɤɢɟ (static) ɤɨɦɩɨɧɟɧɬɵ, ɬɨ ɞɥɹ ɤɚɠɞɨɝɨ ɡɧɚɱɟɧɢɹ ɩɚɪɚɦɟɬɪɚ ɛɭɞɟɬ ɢɫɩɨɥɶɡɨ- ɜɚɬɶɫɹ ɫɜɨɣ ɷɤɡɟɦɩɥɹɪ ɫɬɚɬɢɱɟɫɤɨɣ ɤɨɦɩɨɧɟɧɬɵ. 6. ɉɪɢɥɨɠɟɧɢɹ 6.1. Ɂɚɞɚɱɢ ɩɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɸ ɧɚ ɹɡɵɤɟ C++ 1. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɩɨɞɫɱɟɬɚ ɱɢɫɥɚ ɫɟɪɢɣ ɞɥɢɧɨɣ ɧɟ ɦɟɧɟɟ Ʉ ɩɨɥɨ- ɠɢɬɟɥɶɧɵɯ, ɨɬɪɢɰɚɬɟɥɶɧɵɯ ɱɢɫɟɥ ɢ ɧɭɥɟɣ ɜ ɨɞɧɨɦɟɪɧɨɦ ɦɚɫɫɢɜɟ ɰɟɥɵɯ ɱɢɫɟɥ. ɋɟɪɢɟɣ ɧɚɡɵɜɚɟɬɫɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɷɥɟɦɟɧɬɨɜ ɦɚɫɫɢɜɚ, ɩɪɢɧɚɞ- ɥɟɠɚɳɢɯ ɨɞɧɨɦɭ ɤɥɚɫɫɭ: int series(int n, int *mas, int *kzero, int *kplus, int *kminus, int k); 2. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɫɥɢɹɧɢɹ ɞɜɭɯ ɭɩɨɪɹɞɨɱɟɧɧɵɯ ɩɨ ɜɨɡɪɚɫɬɚɧɢɸ ɦɚɫɫɢɜɨɜ ɰɟɥɵɯ ɱɢɫɟɥ: int merge(int n, int m, int *mas1, int *mas2, int *res); 3. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɩɨɫɬɪɨɟɧɢɹ ɫɩɢɫɤɚ ɢɧɞɟɤɫɨɜ (ɧɨɦɟɪɨɜ), ɫɬɪɨɤ ɭɩɨɪɹɞɨɱɟɧɧɨɝɨ ɩɨ ɜɨɡɪɚɫɬɚɧɢɸ ɷɥɟɦɟɧɬɨɜ ɡɚɞɚɧɧɨɝɨ (k-ɝɨ) ɫɬɨɥɛɰɚ ɦɚɬ- ɪɢɰɵ. ɗɥɟɦɟɧɬɵ ɦɚɬɪɢɰɵ - ɰɟɥɵɟ ɱɢɫɥɚ: void sort(int n, int *mas, int k, int* index); 4. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɨɩɪɟɞɟɥɟɧɢɹ ɷɥɟɦɟɧɬɚ ɦɚɬɪɢɰɵ, ɹɜɥɹɸɳɟɝɨɫɹ ɫɟɞɥɨɜɨɣ ɬɨɱɤɨɣ. ɋɟɞɥɨɜɨɣ ɬɨɱɤɨɣ ɧɚɡɵɜɚɟɬɫɹ ɷɥɟɦɟɧɬ, ɭɞɨɜɥɟɬɜɨɪɹɸɳɢɣ ɭɫɥɨɜɢɹɦ: a[k,l]=max min(a[i,j])=min max(a[i,j]) i<=n,j<=m j<=m,i<=n ȿɫɥɢ ɫɟɞɥɨɜɨɣ ɬɨɱɤɢ ɧɟɬ, ɭɫɬɚɧɨɜɢɬɶ k=l=-1. 5. ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɩɨɞɫɱɟɬɚ ɤɨɥɢɱɟɫɬɜɚ ɪɚɡɥɢɱɧɵɯ ɱɢɫɟɥ ɜ ɦɚɫɫɢ- ɜɟ, ɫɨɞɟɪɠɚɳɟɦ n ɰɟɥɵɯ ɱɢɫɟɥ. int count(int *a, int n); 59
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »