0 / 0 / 0
Регистрация: 05.01.2022
Сообщений: 8
|
||||||
1 | ||||||
Преподаватель не принимает работу17.01.2022, 18:54. Показов 756. Ответов 14
Метки нет (Все метки)
Дан массив y0, y1, y2,…, y2n-1. Определить сумму значений элементов массива с чётными номерами, лежащих между первым элементом с наименьшим неотрицательным значением и элементом с номером n.
Нужно пробегать по всему массиву, искать наименьшее положительное значение и от него считать до n сумму всех чётных членов. Нужно использовать тип элемента(telem=type element). Работа не принята. Комментарий преподавателя такой: ЛЮБОЙ(!!!) результат работы функции должен выводиться в функции main() Где сказано, что минимальный элемент лежит в левой половине массива?
0
|
17.01.2022, 18:54 | |
Ответы с готовыми решениями:
14
Что хочет преподаватель? Нужен преподаватель MS VISUAL C++ Преподаватель решил помучать Описать объект Преподаватель |
15 / 10 / 5
Регистрация: 04.01.2021
Сообщений: 27
|
|
17.01.2022, 19:27 | 2 |
ЯСаня, Если я правильно понял условие задачи, то
У вас есть некоторый массив чисел: 6, -5, 4, -3, 2, 1, Пользователь вводит n(позиция начального элемента): пусть будет 1 Минимальный положительный элемент: 1 (позиция в массиве - 5, если индексы от 0 будем считать) Вывод суммы элементов от [1..5] = 4 + 2 = 6 Скорее всего преподаватель пытался этот случай вам указать
0
|
0 / 0 / 0
Регистрация: 05.01.2022
Сообщений: 8
|
|
17.01.2022, 19:44 [ТС] | 3 |
Нет, не совсем так. Пользователь вводит число n, это половина массива. Программа ему отвечает что введите числа в массив размера 2n.
Допустим массив размера n=3 Введите в массив 6 чисел: 1 2 3 4 5 -6 Вы ввели массив: 1 2 3 4 5 -6 Сумма чётных членов массива: 2 Так как миним положит число 1, от него идёт рассчёт, это нулевой элемент. А нам нужны чётные, второй, четвёртый, шестой до числа n. Сумма их значений. Я программу написал, она работает, но у препод замечания есть, моя программа смотрит числа до n и сумму чётных считает до n, а надо по всему циклу искать наименьшее положительное. И в меню сделать вывод если положительных чисел нету вообще
0
|
15 / 10 / 5
Регистрация: 04.01.2021
Сообщений: 27
|
|
17.01.2022, 20:14 | 4 |
Поменяйте тогда цикл не от 0 до n, а от 0 до 2n для поиска минимального числа
Так как ваш программа уже не будет правильно работать с моим примером -6 5 4 3 2 1
0
|
Вездепух
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
|
|
17.01.2022, 20:30 | 5 |
Но ваша программа выдает сумму
4 на таком вводе. Откуда вы взяли 2 ? Вы вообще сами запускали свою программу?Так вы же сам сказали: "Нужно пробегать по всему массиву, искать наименьшее положительное значение и от него считать до n сумму всех чётных членов." Где у вас в коде "пробегать по всему массиву, искать наименьшее положительное значение"? Почему вдруг только до n, если вы сами сказали: "Нужно пробегать по всему массиву"??? Это прекрасно. А если бы ввод был 1 2 3 4 0 -6 ? Минимальный неотрицательный элемент здесь 0 . Т.к. он находится в правой части, считать нечего, сумма должна быть 0 . А ваша программа снова находит 1 , считает от 1 и опять получает сумму 4 . Это неправильно.
0
|
0 / 0 / 0
Регистрация: 05.01.2022
Сообщений: 8
|
|
17.01.2022, 22:20 [ТС] | 6 |
Вот и надо переделать, чтобы пробегала по всему массиву, у меня в коде она пробегает до n. И чтобы если миним положит число стоит справа от n, считала сумму чётных до n. И вот это должно выводиться из меню, а не из функции. У меня не получается из меню вывести
Добавлено через 43 секунды cout << "\n Неотрицательных элементов в массиве нет"; exit(3); //прекращение исполнения программы Должно из меню выводиться
0
|
Вездепух
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
|
|
17.01.2022, 22:44 | 7 |
Не понял. У вас же в других функциях уже сделано "чтобы пробегала по всему массиву". Например, при выводе массива "пробегает по всему массиву". А почему вдруг при поиске минимум возникли какие-то сложности?
0
|
0 / 0 / 0
Регистрация: 05.01.2022
Сообщений: 8
|
|
17.01.2022, 23:43 [ТС] | 8 |
Это я переделал, а остальное?
Добавлено через 4 минуты если все числа отрицательные, должно выводиться сообщение что неотрицательных чисел нет и программа останавливается Добавлено через 2 минуты Как сделать из меню вывод строки cout << "\n Неотрицательных элементов в массиве нет"; ?
0
|
515 / 407 / 188
Регистрация: 08.04.2013
Сообщений: 1,739
|
|
18.01.2022, 10:33 | 9 |
0
|
0 / 0 / 0
Регистрация: 05.01.2022
Сообщений: 8
|
|
18.01.2022, 10:47 [ТС] | 10 |
21 строка tmas a
0
|
515 / 407 / 188
Регистрация: 08.04.2013
Сообщений: 1,739
|
||||||
18.01.2022, 13:08 | 11 | |||||
ЯСаня, операции new применяются для создания динамических массивов, у вас статический
Добавлено через 1 минуту
пример работы с динамическим массивом Образцы (шаблоны) программ для типовых задач
0
|
0 / 0 / 0
Регистрация: 05.01.2022
Сообщений: 8
|
|
18.01.2022, 13:23 [ТС] | 12 |
Динамический одномерный это же тоже самое что статический? разве нет?
0
|
0 / 0 / 0
Регистрация: 05.01.2022
Сообщений: 8
|
|
18.01.2022, 13:38 [ТС] | 14 |
Статический это определённый размер в памяти, а динамический можно увеличивать память под массив, так
0
|
18.01.2022, 13:43 | 15 |
ЯСаня, ты в угадайку играешь, что ли? Просто удели пару выходных изучению книжки по C++.
Размер статического ты определяешь при написании программы, а динамического в процессе выполнения(это не значит, что его можно увеличивать после создания, просто можно например ввести с клавиатуры или посчитать по формуле после того как программа запущена, но до того как массив создан) Ну и нюансы про стек и кучу ещё есть...
0
|
18.01.2022, 13:43 | |
18.01.2022, 13:43 | |
Помогаю со студенческими работами здесь
15
Преподаватель программирования (Москва) Нужен преподаватель по вордпресс Преподаватель математики и информатики Опишите структуру «Преподаватель» Разыскивается преподаватель MATLAB Опишите структуры «Преподаватель» и «Студент» Преподаватель на курсы по программированию, Москва Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |