Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
#1

как сложить вектор с целым числом? - C++

19.11.2011, 14:26. Просмотров 2716. Ответов 28
Метки нет (Все метки)

Как к элементу вектора прибавить целое число??? Скажите плиз, очень нужно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2011, 14:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как сложить вектор с целым числом? (C++):

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс "вектор" с конструкторами, которые позволяют создать нулевой вектор и вектор с...

Проверить является ли строка целым отрицательным числом - C++
3. Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым отрицательным числом.

Проверить, является ли введенная с клавиатуры строка целым числом - C++
1) Напишите программу, которая проверяет, является ли введеная с клавиатуры строка с целым числом. 2)Напишите программу которая удаляет...

Заменить элементы побочной диагонали целым числом, введенным пользователем - C++
Мне нужно было создать массив и выполнить определенные задания с массивом , 2 я сделал а вот с 3 заданием проблема, ЗАДАНИЕ ГЛАСИТ:...

Написать программу, которая определяет, является ли введенная с клавиатуры строка целым числом - C++
1. Написать программу, которая определяет, является ли введенная с клавиатуры строка целым числом. 2. Дана строка символов среди...

Проверка, является ли строка целым числом? - C++
Есть готовый, и работающий код. Нужно только немного изменить: Чтобы на 25 строке вместо char k; Было char* k; #include...

28
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
19.11.2011, 21:34  [ТС] #16
нет, каюсь...
тут понял ошибку... должно быть size()-1 верно?
но даже при таком условии дальit до сложения меня компилятор не пустит
0
Bers
Заблокирован
19.11.2011, 21:36 #17
Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
for(i=0;i<=stones.size();++i)
цикл должен обломаться когда i станет равной stones.size()-1
это значит что цикл должен обломаться когда i перестанет быть меньше stones.size()

Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
for(i=0;i<stones.size();++i)
Найди отличия
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
19.11.2011, 21:49  [ТС] #18
различные операции сравнения!!!
один идет до 10 например а второй до 9

Добавлено через 10 минут
Вы можете все таки сказать что сделать что бы нормально суммировал?
0
Bers
Заблокирован
19.11.2011, 21:53 #19
покажи последний исправленный вариант
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
19.11.2011, 21:53  [ТС] #20
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
template<class T> 
void arrange_bags(vector<T> &stones) //ñîçäГ*ГҐГІ äâå ГЄГіГ·ГЁ áîëåå áëèçêèå ГЇГ® Г°Г*çìåðó
{
int k1, k2, i,sum1=0, sum2=0;
 
 
for(i=0;i<stones.size()-1;++i)
{
        if(sum1<=sum2)
        {      
                sum1=+stones.at(i);
                
                k1++;}
        else
        {   
                sum2=+stones.at(i);
                k2++;}
}
if(sum1/sum2 <=2)
{       cout<<"\n heap 1: ";
        for(i=0;i<k1;i++)
                //cout<<bag1[i]<<"  ";
        cout<<"\n weigh 1: "<<sum1<<endl;
        cout<<"\n heap2: ";
        for(i=0;i<k2;i++)
                //cout<<bag2[i]<<"  ";
        cout<<"\n weigh 2: "<<sum2<<endl;
}
else cout<<"more 2\n";
}
0
Bers
Заблокирован
19.11.2011, 21:56 #21
Ты хочешь суммировать все элементы кроме последнего?

Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
for(i=0;i<stones.size()-1;++i)

Никаких проблем вот здесь не наблюдаешь?
C++
1
2
3
4
5
6
7
for(i=0;i<k1;i++)
                       //cout<<bag1[i]<<" *";
           cout<<"\n weigh 1: "<<sum1<<endl;
           cout<<"\n heap2: ";
           for(i=0;i<k2;i++)
                        //cout<<bag2[i]<<" *";
           cout<<"\n weigh 2: "<<sum2<<endl;[/quote]
Даю подсказку: что бы не иметь таких проблем, всегда бери тело цикла в фигурные скобки, даже если оно состоит всего из одной строки.
Тоже самое касается конструкций типа if
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
19.11.2011, 21:59  [ТС] #22
нет, суммировать нужно все, там ошибок не видел потому что еще до туда не дошел!!!
0
Bers
Заблокирован
19.11.2011, 22:01 #23
Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
нет, суммировать нужно все,
Тогда ещё раз внимательнее посмотри на условие выхода из цикла.
В остальном я лично проблем не вижу.
Можно переходить к след. части
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
19.11.2011, 22:02  [ТС] #24
исправил на <=size();
вроде теперь должно быть верно!
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
20.11.2011, 03:41 #25
как сложить вектор с целым числом?
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
20.11.2011, 09:37  [ТС] #26
Цитата Сообщение от accept Посмотреть сообщение
может в stones ничего нет
k1 и k2 не инициализированы
k1, k2 инициаизировал в stones все есть!!! он не суммирует в этом проблема!!!!!
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
20.11.2011, 10:01 #27
Цитата Сообщение от 2008kedr2008
k1, k2 инициаизировал
в предыдущих кодах нет
0
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
21.11.2011, 08:55  [ТС] #28
Цитата Сообщение от accept Посмотреть сообщение
в предыдущих кодах нет
инициализировал, но все ровно не суммирует!!!
0
BRcr
4011 / 2301 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
21.11.2011, 09:27 #29
во-первых, это что(???):
Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
sum1=+stones.at(i);
Смотрим Operators in C and C++ и исправляем, если так надо, на
C++
1
sum1+=stones.at(i)
во-вторых, нафига изменять sum1, а потом проводить сравнение(???):
C++
1
if(sum1<=sum2)
в-третьих, усвойте наконец, что такое количество элементов массива, индексы элементов массива и что нам дает функция stones.size().
Вот это масло масленное:
C++
1
for(i=0;i<stones.size()-1;++i)
C++
1
2
for( i=0; i<stones.size(); ++i ) // либо так,
for( i=0; i<=stones.size()-1; ++i ) // либо так и будет вам счастье
И еще, вот это ведь совсем не трудно:
C++
1
int k1 =  0, k2 = 0;
0
21.11.2011, 09:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2011, 09:27
Привет! Вот еще темы с ответами:

Сложить модули элементов строк матрицы и сформировать из них вектор V - C++
Помогите, пожалуйста: дана матрица А размера n на n. Нужно сформировать вектор V, элементами которого являются суммы модулей элементов...

Вектор векторов с различным числом элементов в каждом внутреннем векторе - C++
Здравствуйте, возникла такая проблема: нужно написать программу которая на экран выводит таблицу значений, используя структуру вектор, при...

Есть n-значное число нужно сложить сложить все его цифры - C++
Как такое реализовать?

Сложить попарно элементы массива, последний сложить с первым - C++
помогите, пожалуйста, попарно сложить элементы массива x, последний элемент сложить с первым и записать результат в массив y


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.