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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
#1

В одномерном массиве, состоящем из n вещественных элементов, вычислить: - C++

01.06.2010, 12:08. Просмотров 2395. Ответов 24
Метки нет (Все метки)

1)количество положительных элементов массива;
2)сумму элементов массива, расположенных после последнего элемента равного нулю.
3)Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом – все остальные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2010, 12:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В одномерном массиве, состоящем из n вещественных элементов, вычислить: (C++):

в одномерном массиве, состоящем из n вещественных элементов, вычислить: - C++
1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и последним отрицательными...

C++ в одномерном массиве ,состоящем из n вещественных элементов вычислить: - C++
C++ в одномерном массиве ,состоящем из n вещественных элементов вычислить: a) номер минимального элемента массива , b) сумму элементов...

В одномерном массиве, состоящем из n вещественных элементов, вычислить: - C++
Уважаемые знатоки С и С++. Думаю, вы понимаете, что высшее образование обязывает быть грамотным, но знать ВСЕ нереально. Мне нужна помощь....

В одномерном массиве, состоящем из n вещественных элементов, вычислить: - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от А до В; ...

В одномерном массиве В, состоящем из N вещественных элементов, вычислить: - C++
В одномерном массиве В, состоящем из N вещественных элементов, вычислить: a) сумму положительных элементов массива; b) количество...

В одномерном массиве, состоящем из N вещественных элементов, вычислить - C++
В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) номер минимального элемента массива; 2) сумму элементов...

24
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.06.2010, 16:39 #16
что-то перемудрил... отсортировать таким образом можно, как я уже говорил, если брать модуль числа
C
1
2
3
   for(i = 1; i < n; ++i)
      if(fabs(a[i]) < fabs(a[i-1]))
         ; /*swap*/
Код
1, 0.15, -2, 7 ---> 0.15, 1, -2, 7
1
winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
01.06.2010, 16:39  [ТС] #17
после того как я ввожу элементы окно закрывается
это что значит?
0
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
01.06.2010, 16:45 #18
winelove, добавьте
C++
1
system ("pause");
до return 0;
fasked, я вообще не сортирую массив) - я запоминаю число (если оно больше -2 и меньше 2) ,удаляю его из массива и записываю в позицию d, которая увеличивается при каждой такой записе)... Говорю, не самыый рациональный вариант, но зато вроде понятный
1
neske
1503 / 870 / 84
Регистрация: 26.03.2010
Сообщений: 2,985
01.06.2010, 16:46 #19
faksed,, объясни пару строк:
22:
C++
1
 std::copy(v.cbegin(), v.cend(), std::ostream_iterator<float>(std::cout, "\n"));
cbegin, cend?

27-28:
C++
1
2
if(std::find(v.rbegin(), v.rend(), 0) != v.rend())
      std::cout << std::accumulate(std::find(v.rbegin(), v.rend(), 0).base(), v.end(), 0) << std::endl;
Общий смысл понятен, но: rbegin, rend(почему не воспользоваться begin,end?), base(), тоже беспонятия =)
Спс.
0
winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
01.06.2010, 16:53  [ТС] #20
ошибка: Call to undefined function 'system'
0
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
01.06.2010, 16:56 #21
Почитайте эту тему
http://www.cyberforum.ru/cpp-beginners/thread10807.html
1
winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
01.06.2010, 17:07  [ТС] #22
спасибо большое, все получилось!!!
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.06.2010, 17:18 #23
Цитата Сообщение от neske Посмотреть сообщение
faksed,, объясни пару строк:
22:
C++
1
 std::copy(v.cbegin(), v.cend(), std::ostream_iterator<float>(std::cout, "\n"));
cbegin, cend?

27-28:
C++
1
2
if(std::find(v.rbegin(), v.rend(), 0) != v.rend())
      std::cout << std::accumulate(std::find(v.rbegin(), v.rend(), 0).base(), v.end(), 0) << std::endl;
Общий смысл понятен, но: rbegin, rend(почему не воспользоваться begin,end?), base(), тоже беспонятия =)
Спс.
cbegin(), cend() - const_iterator. просто так вставил, по идее значение по константному итератору не может измениться.

rbegin(), rend() - reverse_iterator. реверсивный итератор. если бы в этом случае в find отправить обычный итератор, то нашелся бы первый ноль в векторе, а нужен был последний.

ну а base() меняет вид итератора с реверсивного на прямой
C++
1
vector<float>::reverse_iterator::base()
то есть нельзя в один алгоритм (здесь это accumulate) подавать итератора разного вида -- ошибка. от этого как раз зависит какого типа итератор будет возвращаться.
если подавать например вторым операндом rend() то посчиталась бы сумма до последнего нуля.
C++
1
accumulate(find(v.rbegin(), v.rend(), 0), v.rend(), 0);
а так с помощью base итератор, возвращенный find преобразуется в прямой итератор и все хорошо...
в общем-то я просто не знаю как найти последний нужный элемент в массиве в одну строку, кроме как с использованием реверсивных итераторов =)

Не по теме:

объяснил как смог xD



Добавлено через 4 минуты
Цитата Сообщение от NNN777 Посмотреть сообщение
fasked, я вообще не сортирую массив) - я запоминаю число (если оно больше -2 и меньше 2) ,удаляю его из массива и записываю в позицию d, которая увеличивается при каждой такой записе)... Говорю, не самыый рациональный вариант, но зато вроде понятный
я просто подумал, раз перестановки в массиве все равно совершаются, то зачем платить больше
1
neske
1503 / 870 / 84
Регистрация: 26.03.2010
Сообщений: 2,985
01.06.2010, 17:36 #24
fasked, вставил ваш код в CodeBlocks.
Ругается на cebegin/cend.
1
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
01.06.2010, 18:15 #25
Цитата Сообщение от neske Посмотреть сообщение
fasked, вставил ваш код в CodeBlocks.
Ругается на cebegin/cend.
спасибо. всегда думал, что они должны существовать. но немного погуглив наткнулся на информацию, что их нет в стандарте. возможно, это действительно так. видимо стоит отказаться от их использования.

Не по теме:

пользуюсь visual studio

0
01.06.2010, 18:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2010, 18:15
Привет! Вот еще темы с ответами:

В одномерном массиве, состоящем из N вещественных элементов, вычислить - C++
В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1. максимальный по модулю элемент массива; 2. сумму...

-в одномерном массиве, состоящем из n вещественных элементов, вычислить; - C++
Здравствуйте, может найдутся те, кто помогут с этим? &quot; В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)...

В одномерном массиве, состоящем из вещественных элементов, вычислить: - C++
Помогите пожалуйста написать программу , ничего не понимаю В одномерном массиве, состоящем из вещественных элементов, вычислить: А)...

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


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

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

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