рдЫрдБрдЯрд╛рдИ рдПрд▓реНрдЧреЛрд░рд┐рджрдоред рд╡реЗ рдХрдИ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВред рд╡рд╣рд╛рдБ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣рд╛рдБ рдХреЛрдИ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреА рдореЗрдореЛрд░реА рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдореЗрдореЛрд░реА рджреЛрдиреЛрдВ рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЧреНрдиреЛрдо рд╕реЙрд░реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (рд╕реВрдХреНрддрд┐ рд╕реЙрд░реНрдЯрд┐рдВрдЧ) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд▓реЗрдЦрдХ (рдбрд┐рдХ рдЧреНрд░реБрди) рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЧрдиреЛрдо рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЧрдиреЛрдо рджреНрд╡рд╛рд░рд╛ рдмрдЧреАрдЪреЗ рдХреЗ рдмрд░реНрддрди рдХреЛ рдЫрд╛рдВрдЯрддрд╛ рдерд╛ред рд╕рдЪ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдЦрд╛рд╕рдХрд░ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЖрд╕рдиреНрди рдмрд░реНрддрди рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╡реЗ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рд░рдгреА рдХреЗ рдЕрдЧрд▓реЗ рддрддреНрд╡ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ рдПрдХ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдХреЛрдИ рдкрд┐рдЫрд▓рд╛ рддрддреНрд╡ рдирд╣реАрдВ рд╣реИ - рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рдХреЛрдИ рдЕрдЧрд▓рд╛ рдирд╣реАрдВ рд╣реИ - рдлрд┐рд░ рд╣рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдо рд╕рд░рдгреА рдХреЗ рджреВрд╕рд░реЗ рддрддреНрд╡ рдкрд░ рд╣реИрдВред
рдЪрд▓реЛ рд╕реА рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рднреА рдПрд░реЗ рдХреЗ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА:
#include <stdio.h> #include <stdlib.h> size_t n = 0; // long *arr = NULL; // void Read() { size_t i; printf("Array size: "); scanf("%u", &n); arr = (long*)calloc(n, sizeof(long)); printf("Array: "); for (i = 0; i < n; i++) { scanf("%d", &(arr[i])); } } void Do() { // } void Write() { size_t i; printf("Result: "); for (i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); } void main() { Read(); Do(); Write(); }
рддреЛ, рдЦреБрдж рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЯрд╛рдЗрдк I рдХреЗ рдХрд╛рдЙрдВрдЯрд░ I рдХреЛ рдПрдХ рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд░реЗрдВред рд╣рдо рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реА рджреЗрд░ рдХрд╛ рд▓реВрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ <n:
void Do() {
рдЕрдм рдПрдХ рдкрд╛рд╢ред рдпрджрд┐ рд╣рдо рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реИрдВ, рддреЛ рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ (рдпрджрд┐ (i == 0) i = 1;)ред рдпрджрд┐ рд╣рдо рдЕрдВрдд рдореЗрдВ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рди рд▓рд┐рдЦреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рд╢ рд╣рд╛рд▓рдд рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдпрд╣ рддрддреНрд╡ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдПрдХ рдЕрдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рддрддреНрд╡реЛрдВ рдХреЛ рдЗрдВрдЯрд░рдЪреЗрдВрдЬ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВред
рдЫрдБрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рддреИрдпрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо:
#include <stdio.h> #include <stdlib.h> size_t n = 0; long *arr = NULL; void Read() { size_t i; printf("Array size: "); scanf("%u", &n); arr = (long*)calloc(n, sizeof(long)); printf("Array: "); for (i = 0; i < n; i++) { scanf("%d", &(arr[i])); } } void Do() { // size_t i = 1; // while (i < n/* */) { if (i == 0) { i = 1; } if (arr[i-1] <= arr[i]) { ++i; // } else { // long tmp = arr[i]; arr[i] = arr[i-1]; arr[i-1] = tmp; // --i; } } } void Write() { size_t i; printf("Result: "); for (i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); } void main() { Read(); Do(); Write(); }