Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <Windows.h>
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- const int nmax = 100;
- int a[nmax];//dannye
- int b[nmax];//bin schetchik
- int c[nmax];
- memset(c, 0, sizeof(c));
- int count, i, sum, polsum;
- printf("Введите кол-во элементов:\n");
- scanf_s("%d", &count);
- printf("Введите вес элементов:\n");
- sum = 0;
- for (int i = 0; i < count; i++)
- {
- scanf_s("%d", &a[i]);
- sum = sum + a[i];
- }
- polsum = sum / 2;
- memset(b, 0, sizeof(b));
- b[0] = 1;
- int min = nmax;
- int summas = 0;
- int str2=0;
- int razn = nmax;
- printf("Первый массив\n");
- do
- {
- summas = 0;
- for (i = 0; i < count; i++)
- if (b[i] == 1) {
- summas += a[i];
- str2++;
- }
- razn = abs(summas - polsum);
- if (razn < min) {
- memcpy(c,b,sizeof(b));
- min = razn;
- }
- str2 = 0;
- i = 0;
- while (b[i] == 1)
- b[i++] = 0;
- b[i] = 1;
- } while (i < count);
- for (int i = 0; i < count; i++)
- if (c[i] == 1)
- printf("%d\n", a[i]);
- printf("Второй массив\n");
- for (int i = 0; i < count; i++)
- if (c[i] == 0)
- printf("%d\n", a[i]);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement