Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #pragma warning(disable: 4996)
- int main() {
- // Длина массива
- int length = 0;
- // Массив
- int A[20];
- // Сумма левых элементов
- int sum_left = 0;
- // Сумма правых элементов
- int sum_right = 0;
- // Разница
- int diff = 0;
- int indexes[20];
- // инициализируем для удаления мусора
- for (int i = 0; i < 20; i++) {
- indexes[i] = -1;
- }
- // Ввести длину массива и проверить ее корректность
- scanf("%d", &length);
- if (length < 3 || length > 20) // вне диапазона [3, 20]
- {
- printf("invalid input data\n");
- return 0;
- }
- // Ввести элементы массива и проверить их корректность
- for (int i = 0; i < length; i++) {
- scanf("%d", &A[i]);
- if (A[i] < 0 || A[i] > 1000) // вне диапазона [0, 1000]
- {
- printf("invalid input data");
- return 0;
- }
- }
- for (int i = 0; i < length; i++) {
- sum_right += A[i];
- }
- diff = sum_right;
- for (int i = 0; i < length; i++) {
- sum_right -= A[i];
- // Сравнить разность разность левого и правого концов с diff и найти наименьшее значение
- // printf("Left: %d Right: %d Diff: %d\n", sum_left, sum_right, abs(sum_left - sum_right));
- if (abs(sum_left - sum_right) <= diff) {
- diff = abs(sum_left - sum_right);
- indexes[i] = diff;
- }
- sum_left += A[i];
- }
- for (int i = 0; i < length; i++) {
- if (indexes[i] == diff)
- printf("%d ", i);
- }
- // printf("Diff: %d", diff);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement