Форум программистов, компьютерный форум CyberForum.ru

Распределить числа в два массива так, чтобы разность между их суммами была минимальной - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Исправить ошибки в программе C++ http://www.cyberforum.ru/cpp-beginners/thread1041366.html
База данных есть некоторые ошибки не могу исправить... #include "stdafx.h" #include <iostream> #include <stdio.h> #include <cstdlib> #include <string> #include <fstream>
C++ Напечатать в алфавитном порядке все гласные буквы, присутствуют в каждом слове Дано множество слов. Напечатать в алфавитном порядке все гласные буквы, присутствуют в каждом слове. Здесь нужно сделать сечение всех слов во множественном. Помогите написать код. Вот что я написал: #include <iostream> #include <vector> #include <set> #include <string> #include <windows.h> #include <algorithm> http://www.cyberforum.ru/cpp-beginners/thread1041364.html
isalpha() - можно сделать, чтобы распознавала русские буквы? C++
Все, извините, ответ нашел.
Удалить каждое четное слово из строки C++
Тема: строки в c++ Задание: Удалить каждое четное слово из строки.
C++ Классы, наследование http://www.cyberforum.ru/cpp-beginners/thread1041343.html
Всем доброго времени суток, проблема в следующем: Дано задание реализовать классы логических операций конъюнкции, дизъюнкции, отрицания и импликации. 1)Конъюнкция, дизъюнкция, отрицание являются наследниками базового класса BASE, где прописаны переменные, функции ввода/вывода. 2)Импликация является наследником классов отрицания и дизъюнкции. В 1) всё норм, но в 2) выдаётся ошибка, что...
C++ Верно ли, что в десятичной записи числа есть шесть единиц подряд? помогите пожалуйста решить задачу используя цикл while: Дано натуральное число. Верно ли, что в его десятичной записи есть шесть единиц подряд? подробнее

Показать сообщение отдельно
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
14.12.2013, 19:03     Распределить числа в два массива так, чтобы разность между их суммами была минимальной
Задача: дан массив N чисел. Нужно раскидать эти числа в два массива так, чтобы разность между их суммами была минимальной.
Пример: 100 1 2 3 4
Берем первое число - 100, кидаем в первый массив, во втором - 0. Берем второе - 1, кидаем туда, где сумма чисел меньше, т.е. во второй (1 - 100, 2 -1). Третье числи - 2. В первом - 100, меньше во втором, значит кидаем туда и т.д. В итоге получится в первом - 100, во втором - 1+2+3+4

Вот код. Но почему то он не пашет. Пожалуйста, найдите ошибку.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
const int N=5;
int main(){
int B[N],C[N],i,j,t;
int A[]={8,7,7,5,5};
for(int i=0;i<N;i++){ //сортируем камни по возрастанию их веса//
        for (int j=0;j<N-i;j++){
    if (A[j]>A[j+1]){
    t=A[j];
    A[j]=A[j+1];
    A[j+1]=t;}}}
     cout <<"otsortirovanniy massiv =>  ";
    for (int i=0;i<N;i++)
    cout<< A[i] <<" ";
    cout<<endl;
int Sum=0;
        for (int j=0;j<N;j++){
                if(A[j]!=A[5])
        {Sum += A[j];}}
        cout<<"Summa vesov = "<<Sum<< '\n';
int d=Sum/2;//находим полусумму//
cout<<"polusumma = "<<d<<endl;
int newsum=0;
for(i>0;i=N-1;i--){
    for(int j=0;j<N;j++){
         for(int k=0;k<N;k++){
    if (A[i]<d&&newsum<d)
        B[j]=A[i],newsum=newsum+B[j];
        else
        C[k]=A[i];}}}}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru