Форум » Массивы, сортировка, работа с файлами » С2- некоторая некорректность » Ответить
С2- некоторая некорректность
vol: В диагностической работе от 14.12.2012 предложена задача несложная, но рекомендации, приложенные к варианту дают в некоторых случаях неправильный ответ. Помогите разобраться. Условие: Массив из 70 целых чисел. Далее стандартно. Суть: найти и вывести наименьшее содержащееся в массиве положительное число, десятичная запись которого оканчивается цифрой 7. Гарантируется, что хотя бы один такой элемент в массиве есть. Рекомендации по решению (фрагмент): m:=a[1]; for i:=2 to n do if (f <m) and (a mod 10=7) then m:=a; вывод m; Пусть у нас массив начинается т.о 10 17 и т.д. По предложенному алгоритму число 17 не будет найдено. Или я ошибаюсь? Если решать т.о., будет ли засчитан максимальный балл: 1 способ. 1. Найти максимальный элемент массива 2. В m поместить значение из п.1 3. Далее как в программе 2 способ. 1. В m поместить максимально возможное число из диапазона целого типа (зависит от выбранного языка программирования) 2. Далее как в программе Помогите разобраться, пожалуйста.
Ответов - 9
Поляков: vol пишет: Рекомендации по решению (фрагмент): Вы невнимательно списали, эта программа даже не пройдет трансляцию. Кроме того, учтите, что число должно быть положительным.
vol: Спасибо. Если положительный, то тогда так? m:=0; for i:=1 to n do if (a>0) and (a mod 10=7) and ((m=0) or (a <m)) then m:=a; Так правильно будет? Почему-то вместо a с индексом i печатается просто а А если вдруг не будет, что элемент положительный? Или такого быть не может?
Danko: Подскажите, а число 7 нужно включать? Ведь тоже формально оканчивается на "7".
Поляков: Danko пишет: а число 7 нужно включать? Да.
Василева: Не могу понять,почему и в ответах, и в решениях пользователей используется условие (a mod 10=7), а не условие (a mod 10<>7). Ведь требуется найти найти наименьшее положительное, запись которого НЕ оканчивается на 7. И еще. Если ГАРАНТИРУЕТСЯ, что элемент, обладающий данными свойствами есть, зачем проверяется условие m=0 (1 способ), или зачем вводится переменная J (второй способ)?
Поляков: Василева пишет: запись которого НЕ оканчивается на 7 Ну, вы задание прочитайте внимательно.зачем проверяется условие m=0 Если m=0, то в предыдущей части массива нужных элементов не было.
Алексей2807: У меня вопрос по формулировке задания С2 (задачи для тренировки, номер 3), там сказано: "алгоритм поиска трёх последовательных элементов", то есть надо найти значения трёх идущих подряд элементов, или я что-то не понимаю? Задаю этот вопрос, потому что в ответах выводится только один элемент, а я полагаю, что нужно три.
Поляков: Алексей2807 пишет: в ответах выводится только один элемент Вы ошибаетесь.
Алексей2807: Спасибо. Разобрался.
полная версия страницы