|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
||||||
Программа не выполняет одну из функций10.12.2014, 16:28. Показов 1155. Ответов 19
Метки нет (Все метки)
у меня получается сделать умножение а с суммой не могу справится, помогите пожалуйста
задача: в одномерном массиве, состоящем из n целых элементов вычислить: -произведение элементов массива с четными номерами; -сумму элементов, расположенных между первым и последним нулевыми элементами. Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом-все отрицательные (элементы равные 0, считать положительными) код:
программа просто не выводит сумму, ошибок нету, в поиске не нашел ничего толкового
0
|
||||||
| 10.12.2014, 16:28 | |
|
Ответы с готовыми решениями:
19
СМА BOSCH WFO 2060, Выполняет одну функцию, полощит Программа ничего не выполняет Программа не выполняет вычисления |
|
3 / 3 / 3
Регистрация: 26.11.2014
Сообщений: 22
|
|
| 10.12.2014, 16:33 | |
|
в строке cout<<"Произведение="<<pr<n-1; i++)
каков замысел под этот код: pr<n-1 ?
0
|
|
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
||||||
| 10.12.2014, 16:42 [ТС] | ||||||
|
эм, код не так вставился не знаю почему, переставляю, там не то написано:
0
|
||||||
|
3 / 3 / 3
Регистрация: 26.11.2014
Сообщений: 22
|
|
| 10.12.2014, 16:48 | |
|
for(int i=2; i<n-1; i++)
1
|
|
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
|
| 10.12.2014, 17:06 [ТС] | |
|
Shuhart, как-то умудрился просмотреть, спасибо ставлю, но появилась другая проблема, почему-то считает не правильно до 0 на несколько знаков вперед (т.е. за нулем 1,3 он прибавляет еще +1+3), попробовал разобраться не получается, прибавляет рандомное количество цифр после 0
0
|
|
|
6 / 6 / 2
Регистрация: 30.06.2014
Сообщений: 19
|
|||||||||||
| 10.12.2014, 17:16 | |||||||||||
|
Отключили лишнее: "stdio.h", "conio.h". Ибо не используем. Ведь зачем нам нагружать простую программу лишними 2-3 тыс.строк кода.
Зачем вводить вектор каждый раз по новой, когда есть генератор псевдослуч.чисел?
Да, и такой вопрос: Суть этого фрагмента?
По заданию требуется, вычислить сумму элементов, между первым 0, и последним. То бишь: 1 2 3 0 5 5 4 0 1 5. Сумма: 14. Думаю, вы поняли.
1
|
|||||||||||
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
||||||
| 10.12.2014, 18:00 [ТС] | ||||||
|
MarkB, вы грамотно написали, спасибо за поправки, задание я понял, но у меня не получается так сделать, делал по примеру который в инете где-то попадался и теперь затерялся\ сначала сумму не выводил, подсказали, теперь сумму не ту выводит, я слабо знаком с C++, по сути недавно начал изучать, попробую еще разобраться, и еще у меня почему-то сообщения сбиваются, и выводятся неправильно, это тут глюк такой ? или я не то что-то делаю ?
Добавлено через 23 минуты поискал подобную, нашел сумму, но теперь программа просто вылетает
0
|
||||||
|
6 / 6 / 2
Регистрация: 30.06.2014
Сообщений: 19
|
||||||||||||||||
| 10.12.2014, 18:32 | ||||||||||||||||
|
tegami,
На заметку: индексация массивов/векторов в С/С++ начинается с 0. a[0],a[1],a[2]...,a[n-1]. Например.
1-ый проход. i<=10 ? да. Зашли внутрь цикла. К s добавили значение a[i]. Вернули значение s. Вышли из цикла. Вот он у вас и не считает до конца. Вам нужно как-то проверять наличие первого 0 и последнего в цикле. Добавлено через 12 минут Советую, вдумчиво прочитать задание. И составить его на листочке.(Важно, сначала представить решение псевдо-человеческим языком). Набросайте массивчик, поставьте нужные нули, и поехали. Так, быстро сообразите.У меня вопросик: Вы до этого изучали другие яз.программирования?
1
|
||||||||||||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|
| 10.12.2014, 18:41 | |
|
0
|
|
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
||||||
| 10.12.2014, 18:52 [ТС] | ||||||
|
MarkB,
ни как все не могу додуматься, попробовал вот так:
паскаль
0
|
||||||
|
6 / 6 / 2
Регистрация: 30.06.2014
Сообщений: 19
|
|
| 10.12.2014, 18:58 | |
|
tegami,
У вас программа закрывается из за {return 0; } Основная программа, или точка старта - не что иное, как функция int main() - // аналог BEGIN в паскале. int в начале функции указывает на, то что функция должна принять целое число( код ошибки). return 0; Возвращает нашей функции int main - значение 0. И программа завершает работу. Вот у вас и не считает.
0
|
|
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
|||||||||||
| 10.12.2014, 19:12 [ТС] | |||||||||||
|
MarkB, На счет int main() = begin я понял в первую очередь когда только начал изучать с++,
целое число не совсем понял, допустим это целое число, но ведь в конце стоит
0
|
|||||||||||
|
6 / 6 / 2
Регистрация: 30.06.2014
Сообщений: 19
|
|||
| 10.12.2014, 19:17 | |||
|
tegami,
1) if(условие) одна инструкция; 2) if(условие) одна инструкция; else одна инструкция; 3) if(условие){ инструкция; инструкция; инструкция; .... }else{ инструкция; инструкция; инструкция; .... } Есть еще множество вариантов, но вам пригодятся лишь эти. Так. Говорите, что писали на паскале. Ну тогда, составьте программу сначала на паскале, а потом перепишите её на Си. Но, проще, чем составить алгоритм программы на листочке, и быть не может. Добавлено через 5 минут
как только срабатывает,какой-либо return внутри функции, последующий код этой функции, тупо отбрасывается.
1
|
|||
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
||||||
| 10.12.2014, 19:36 [ТС] | ||||||
|
MarkB, ладно, ничего, поработал с кодом по вашим поправкам, вот что получилось:
Про паскаль, можно попробовать, но опять же давненько изучал, кое-что нужно вспомнить На счет алгоритма, да, согласен, можно попробовать
0
|
||||||
|
6 / 6 / 2
Регистрация: 30.06.2014
Сообщений: 19
|
|
| 10.12.2014, 19:45 | |
|
1
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||||||||
| 10.12.2014, 19:46 | |||||||||
|
тебе же сказали
1
|
|||||||||
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
|
| 10.12.2014, 19:58 [ТС] | |
|
ValeryS, где (s=0), ошибся, я понял про сравнение, теперь 8 (первое число в массиве) появляется, голова уже не соображает, пошел спать, завтра попробую доразобраться, всем кто помогал спасибо
0
|
|
|
6 / 6 / 2
Регистрация: 30.06.2014
Сообщений: 19
|
||||
| 10.12.2014, 20:12 | ||||
|
tegami,
Как работает ваша программа: 91 раз подряд, она проверяет: { Сумма равна нулю ? Да --> К s прибавляем текущий элемент массива. Нет--> Проходим мимо. Текущий элемент равен нулю? Да --> Выводим сообщение вида: "Сумма= s" Нет --> Проходим мимо. } На выходе: У вас будет n-oe количество сообщений "Сумма = x", где x - первый элемент != 0.
Добавлено через 9 минут А в данном цикле мы выйдем за диапазон массива. Т.е обращаясь к a[10],a[50],a[90], мы наткнемся на какой-нибудь мусор, ОДНОМУ ЛИШЬ БОГУ ИЗВЕСТНО, ЧТО ТАМ ЛЕЖИТ.
1
|
||||
|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
|
| 11.12.2014, 14:51 [ТС] | |
|
MarkB, массив я тоже увеличил, Kerry_Jr,
, всем еще раз спасибо, я попробовал еще раз поюзать поиск, нашел эту-же задачу и изучил ее, ссылка:Вычислить сумму элементов массива между первым и последним нулевыми элементам. Помогите с блок-схемой, вопрос решен
0
|
|
| 11.12.2014, 14:51 | |
|
Помогаю со студенческими работами здесь
20
Что выполняет программа? Что выполняет программа Программа не выполняет команды
Что выполняет данная программа? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Чистый C и C++ в Qt Creator: ставим среду без VPN и настраиваем MinGW/CMake, без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|