|
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
|
||||||
Программа не выполняет одну из функций10.12.2014, 16:28. Показов 1088. Ответов 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
|
||||||||||||||||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|
| 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
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|||||||||
| 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
Что выполняет программа? Что выполняет программа Программа не выполняет команды
Что выполняет данная программа? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|