воскресенье, 15 апреля 2012
Помогите с задачами.
читать дальшеВводится последовательность из N целых чисел. Определить наибольшее число среди кратных 11.
В интернете нашла такую версию:
Но не понимаю, как она сделана. Пняла только строку (a%11==0).
Может ее можно решить каким-то способом проще, или более понятнее. Ибо мне нужно написать ещё анализ, а что делали, я не понимаю.
И ещё такая задача:
В массиве Х из М элементов (М не больше 30) определить максимальный элемент и его номер. Число М и значения элементов массива задаются вводом.
Вышло:
Но поставили дополнительное условие: если введеные элементы массива будут равны, тоже их вывести и их номер. А как сделать и куда именно вставить не знаю.
Буду благодарна...
@темы:
Вопрос,
C++
вы так будите просить написать каждую программу, которую вам наивно задают?
1. Основная идея:
- задаём переменную для хранения максимального значения;
- читаем последовательность;
- каждое значение проверяем на кратность 11 (должно делиться без остатка);
- первое найденное кратное 11 сохраняем как максимальное;
- все последующие кратные 11 сравниваем с максимальным, если они больше - перезаписываем максимальное.
Вот он ваш анализ. Читайте хэлп, пробуйте изобразить. В целом задачка простенькая, в бэйсике или паскале записывается строчек в 5, не считая ввода-вывода.
2. Доп. условие это задача на двойной цикл. В общем виде:
- Стоя на первом элементе массива (i=1), запускаем второй цикл от i+1 до m, если X[i] и X[y] совпадают, пишем их номера в output.
- Двигаем i дальше. Повторяем.
Если Вам надо только номера равных максимальных значений найти, вставьте дополнительную проверку или вместо этого после нахождения максимального пробегитесь по массиву ещё раз, выписывая номера при совпадении.
спасибо, больше не буду беспокоить...