Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2015, 13:07   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

к сожалению, я не могу сказать, где именно ошибка.
но то, что по алгоритму, приведённому на рисунке получается именно 40, 36, 32, 28, 24, 5, 4, 3, 2, 1,
это легко проверяется. именно "вручную"

смотри. вот добавляю вывод внутрь цикла.
Код:
		// выведем массив после обработки:
		cout << "\nYour mass after k="<<k<<": \t";
		for(int i = 1; i<11; i++) cout << A[i]  << "\t ";
получаем такое:
Код:
Your mass: 10	 9	 8	 7	 6	 5	 4	 3	 2	 1	 

Your mass after k=1: 	1	 9	 8	 7	 6	 5	 4	 3	 2	 20	 
Your mass after k=2: 	1	 2	 8	 7	 6	 5	 4	 3	 18	 20	 
Your mass after k=3: 	1	 2	 3	 7	 6	 5	 4	 16	 18	 20	 
Your mass after k=4: 	1	 2	 3	 4	 6	 5	 14	 16	 18	 20	 
Your mass after k=5: 	1	 2	 3	 4	 5	 12	 14	 16	 18	 20	 
Your mass after k=6: 	1	 2	 3	 4	 24	 5	 14	 16	 18	 20	 
Your mass after k=7: 	1	 2	 3	 28	 24	 5	 4	 16	 18	 20	 
Your mass after k=8: 	1	 2	 32	 28	 24	 5	 4	 3	 18	 20	 
Your mass after k=9: 	1	 36	 32	 28	 24	 5	 4	 3	 2	 20	 
Your mass after k=10: 	40	 36	 32	 28	 24	 5	 4	 3	 2	 1	 

Your mass after: 40	 36	 32	 28	 24	 5	 4	 3	 2	 1
ткните пальцем, где расхождение с ручным вычислением?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.07.2015, 13:57   #12
25-й кадр
Человек
Форумчанин
 
Регистрация: 04.04.2011
Сообщений: 178
По умолчанию

Возьмём последний элемент k=10. Получается x=A[10], A[10]=A[11-10], A[11-10]=2*x. А x=A[10], равен 1. Получается, что 2*1=2. Т.е. последний элемент равен двум, разве нет? А десятый элемент равный 2 только в ответе 2).
Это вам не это
25-й кадр вне форума Ответить с цитированием
Старый 16.07.2015, 14:00   #13
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

У меня согласно этого алгоритма получился тот же результат. Как у Serge_Bliznykov
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 16.07.2015, 14:01   #14
25-й кадр
Человек
Форумчанин
 
Регистрация: 04.04.2011
Сообщений: 178
По умолчанию

Bugrimov, странно... У меня вручную выходит последний элемент равный 2ум.
Это вам не это

Последний раз редактировалось 25-й кадр; 16.07.2015 в 14:06.
25-й кадр вне форума Ответить с цитированием
Старый 16.07.2015, 14:10   #15
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Снимок_prog.PNG

Вот результат работы... Возможно я что-то упустил...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 16.07.2015, 14:14   #16
25-й кадр
Человек
Форумчанин
 
Регистрация: 04.04.2011
Сообщений: 178
По умолчанию

Может, я туплю уже конкретно. Попробуйте сделать программу по блок-схеме, если не трудно.) Может, что-то другое появится.)
Это вам не это
25-й кадр вне форума Ответить с цитированием
Старый 16.07.2015, 14:20   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от 25-й кадр Посмотреть сообщение
Возьмём последний элемент k=10. Получается x=A[10], A[10]=A[11-10], A[11-10]=2*x. А x=A[10], равен 1. Получается, что 2*1=2. Т.е. последний элемент равен двум, разве нет? А десятый элемент равный 2 только в ответе 2).
возьмём.
когда мы дошли до k=10, у нас на первом месте стоит 1, на 10 месте стоит 20.
(это результат действия на шаге 1). Возражений нет?

тогда
Код:
	x = A[k];  x = A[10] -> x равен 20
	A[k] = A[11 - k]; A[10] = A[1] -> на десятое место записываем 1
	A[11 - k] = 2 * x; A[1] = 2 * x -> на первое место записываем 2*20 = 40
получаем после 10-го шага на первом месте 40, на последнем месте 1.

что не так?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.07.2015, 14:28   #18
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

25-й кадр по поводу алгоритма сказать ничего не могу. У меня результат такой получился. Я согласен с Сергеем.
Для получения результата цикл нужно выполнять не до 10, а до 10/2, т.е. до 5 в данном случае.. Тогда... О чудо.

Снимок_prog.PNG
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 16.07.2015, 14:55   #19
25-й кадр
Человек
Форумчанин
 
Регистрация: 04.04.2011
Сообщений: 178
По умолчанию

Ну да, на 5ом. Получается нам дали кривой пример тестов?.. Я даже не удивлён. Буду с препода трясти тогда объяснения.
Это вам не это
25-й кадр вне форума Ответить с цитированием
Старый 16.07.2015, 15:00   #20
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Цитата:
Сообщение от 25-й кадр Посмотреть сообщение
Ну да, на 5ом. Получается нам дали кривой пример тестов?.. Я даже не удивлён. Буду с препода трясти тогда объяснения.
Он не кривой, он с подковыркой... Возможно так и задумано
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрограммировать в делфи 7 тест Лири и тест Торстона через базу данных (курсовая на 1-м курсе) mekil Помощь студентам 10 10.06.2014 17:56
Тест на VB mallchel Помощь студентам 6 14.05.2013 16:51
Тест треч Помощь студентам 8 17.03.2011 23:27
Тест ValdisZ Паскаль, Turbo Pascal, PascalABC.NET 6 17.01.2011 17:35
Пробный срок работы БД VistaSV30 Microsoft Office Access 3 04.03.2010 22:44