Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2013, 19:03   #1
_Лето_
Пользователь
 
Регистрация: 04.11.2013
Сообщений: 23
По умолчанию Задача с массивами. Не могу найти ошибку

Задача: дан массив N чисел. Нужно раскидать эти числа в два массива так, чтобы разность между их суммами была минимальной.
Пример: 100 1 2 3 4
Берем первое число - 100, кидаем в первый массив, во втором - 0. Берем второе - 1, кидаем туда, где сумма чисел меньше, т.е. во второй (1 - 100, 2 -1). Третье числи - 2. В первом - 100, меньше во втором, значит кидаем туда и т.д. В итоге получится в первом - 100, во втором - 1+2+3+4

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

Код:
#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];}}}}
_Лето_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Легкая задача в C++, не могу найти ошибку в коде. Aaaaaa111 Помощь студентам 3 20.02.2012 14:07
задача с матрицей,не могу найти ошибку. chaikovskaya Помощь студентам 1 30.12.2011 13:55
Не могу найти ошибку в коде (assembler) Задача - Ресайзинг прямоугольной области. Kelevra23 Помощь студентам 0 24.11.2011 16:21
Задача про лабиринт. Не могу найти ошибку РагнаР Общие вопросы C/C++ 3 22.10.2010 22:28
Задача на ряд Тейлора - не могу найти ошибку _NooB_ Помощь студентам 0 30.09.2010 14:53