Форум » Массивы, сортировка, работа с файлами » С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: Спасибо. Разобрался.



полная версия страницы