|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
Найти сумму элементов массива, расположенных до последнего положительного элемента16.05.2012, 21:11. Показов 6852. Ответов 17
Метки нет (Все метки)
Вот такое задание нужно сделать на с++ в консольном приложении:
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) максимальный элемент массива; 2) сумму элементов массива, расположенных до последнего положительного элемента. Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, Ь]. Освободившиеся в конце массива элементы заполнить нулями. 3) Создать вектор и поместить в него полученный в п.2 массив. Вывести содержимое вектора на экран. Для доступа к элементам массивов в работе пользоваться только указателями! Для заполнения массива использовать функцию int rand(), которая возвращает при каждом обращении к ней псевдослучайное целое число из диапазона 0...0x7fff. Сложно ли это сделать? Не могли бы помочь?
0
|
|
| 16.05.2012, 21:11 | |
|
Ответы с готовыми решениями:
17
Найти сумму элементов массива, расположенных до последнего положительного элемента Найти сумму элементов массива, расположенных до последнего положительного элемента |
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 17.05.2012, 03:59 | ||||||
Сообщение было отмечено Памирыч как решение
Решение
Первое и второе
Не идеальное, но решение.
Диапазон от нуля и дальше, но в задании нужна сумма до последнего положительного. Так они все положительные тогда быть должны и значит это тупо можно отбросить. Выходит и считать обычную сумму всех элементов, хотя и сделано как сказано
0
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||||
| 17.05.2012, 08:47 | |||||||||||||
О сохранении относительного порядка оставшихся элементов речи не было.
0
|
|||||||||||||
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 17.05.2012, 19:43 [ТС] | |
|
Странно, компилируется, запускается, но как только ввожу число элементов - ошибка.
А ещё не знаю как вывести массив после сжатия и вектор. 2-ой комментарий, спасибо, но куда это нужно вставить?
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 17.05.2012, 19:57 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 17.05.2012, 20:07 [ТС] | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 17.05.2012, 20:10 | |
|
Ну цикл то надо до N-1.
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 17.05.2012, 20:15 [ТС] | |
|
Тогда в массиве получается на 2 элемента меньше
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||
| 17.05.2012, 22:54 | ||
|
Давайте подумаем. Предположим пользователь решил создать 10 элементов. Я отнимаю от введенного 10 один элемент= 9 элементов. Теперь я создаю массив в 9 элементов (цифра в скобках)+нулевой элемент массива = Массив в 10 элементов. Все элементы на месте, причем тут N-2? Этот N-1 сделан сразу и один раз только чтобы не писать его в каждой функции снова и снова, а можно было просто писать N Так как я переписывал вручную, я мог допустить ошибки, но вы или написали на вскидку или не подумали. Как вы заметили, даже пользователь при N-2 получил на 2 элемента меньше. В моих экспериментах при проходе циклом проблем не было и все считало как должно
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 17.05.2012, 23:28 | |
|
Я не знаю в чем проблема, но могу предположить что какая-то из функций, использованных в DosBox bc 3.1 некорректно работает внутри Visual Studio и скорее проблема не в алгоритме написанного кода, а именно в этих функциях.
Прикрепил скрин и все работает (я циклом у себя дописывал), но так и не увидел ошибки при многократных попытках ее словить. Проверил тот код, что написал с тем что в исходнике, опечаток не нашел
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 17.05.2012, 23:44 [ТС] | |
|
Я заменил <iostream.h> на <iostream>, добавил пару других библиотек, потому что иначе выдавало ошибку - 'time' identifier not found. Добавил using namespace std; Удалил clrscr - 'clrscr' : undeclared identifier. И после этих изменений у меня такая ошибка, что описана выше.
А студиа у вас какая? У меня 2005.
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 18.05.2012, 16:08 | ||||||
Сообщение было отмечено Памирыч как решение
Решение
Специально скачал Visual Studio 2005.
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 18.05.2012, 23:03 [ТС] | |
|
Работает. Спасибо!
А про сжатие массива и вектор кто-то понял как делать?
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 19.05.2012, 02:03 | ||||||
Сообщение было отмечено Памирыч как решение
Решение
Вместе с сжатием
По поводу того что написал ранее. - В скобках массива указано ровно столько сколько создаю. Без всяких плюс нулевой элемент. taras atavin правильно говорил, я неправильно. Просто сделал я так, что этот мой минус один учитывается внутри всех функций в условиях циклов, поэтому код работает.
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 19.05.2012, 10:36 [ТС] | |
|
Спасибо!
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 22.05.2012, 22:41 [ТС] | |
|
Возникла проблема, после сжатия нули должны быть в конце массива, а не на местах удалённых элементов. Вот мучаю код, это функцию Print нужно изменить? Может подскажите что добавить?
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 22.05.2012, 23:27 | |
|
Вы с моим кодом колдуете?
В написанном вам коде тут нули и добавляются в конец массива. Слова Print во всей теме нет, не понял о чем вы Вот скрин, разве нули не в конце массива??
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 21
|
|
| 22.05.2012, 23:38 [ТС] | |
|
Точно, что-то я намудрил с кодом. Вернул всё назад, осталось в вектор как-то массив занести и вывести
0
|
|
| 22.05.2012, 23:38 | |
|
Помогаю со студенческими работами здесь
18
Найти сумму элементов массива, расположенных до последнего положительного элемента
Найти сумму элементов массива, расположенных до последнего положительного элемента Найти сумму элементов одномерного массива расположенных до последнего положительного элемента Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|