Вопрос № 148825: здравствуйте..) нужен код..: В двумерном массиве A[N*N] числа верхнего треугольника между главной и побочной диагоналей поменять местами с числами нижнего треугольника между побочной и главной. В левых и правых треугольниках определить максимал...
Вопрос № 148864: Доброго времени суток, уважаемые эксперты! Возникланебольшая проблема с написанием программы на Паскале.... Программа должна определять, является ли строка палиндромом(перевертышем)
или нет.... Но у меня так и не получилось заставить ее работат...
Вопрос № 148.825
здравствуйте..) нужен код..: В двумерном массиве A[N*N] числа верхнего треугольника между главной и побочной диагоналей поменять местами с числами нижнего треугольника между побочной и главной. В левых и правых треугольниках определить максимальные и поменять их местами.
Отправлен: 28.10.2008, 21:08
Вопрос задал: Anriver (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Verena
Здравствуйте, Anriver! Под эту задачу несложно переделать мой код из вопроса 109204. Четверти, на которые делится квадратная матрица при помощи диагоналей легко описываются в координатах:
Понятия главной и побочной диагонали имеют смысл только в квадратных матрицах и выражаются простыми формулами. Главная диагональ: элементы на ней имеют индексы i=j, элементы над ней - j > i, под ней - j < i . Побочная диагональ: элементы на ней имеют индексы i+j=n+1, элементы над ней - i+j < n+1, под ней - i+j > n+1 . Всё это Вы можете проверить опытным путём, и уб
едитесь, что это так. При таком раскладе разделить матрицу на четверти проще простого: Верхняя: j > i and i+j < n+1 Нижняя: j < i and i+j > n+1 Левая: j < i and i+j < n+1 Правая: j > i and i+j > n+1 [...] Здесь кроме вышесказанного надо заметить, что соответствующий элементу верхней четверти элемент нижней четверти будет иметь тот же самый индекс по столбцу и индекс по строке, выражающийся формулой (n-i+1).
Изменённый под
Вашу задачу код в приложении. Удачи!
Приложение:
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Практикант)
Ответ отправлен: 29.10.2008, 01:36
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 148825 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Вопрос № 148.864
Доброго времени суток, уважаемые эксперты! Возникланебольшая проблема с написанием программы на Паскале.... Программа должна определять, является ли строка палиндромом(перевертышем) или нет.... Но у меня так и не получилось заставить ее работать на полную - определяет правильно где-то в трети случаев.... Допустим, строку фнеф принимает за палиндром.... Код программы в приложении. Пожалуйста, найдите мою ошибку! Вопрос жизни и смети!
Приложение:
Отправлен: 29.10.2008, 11:00
Вопрос задал: Komissarex (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Komissarex!
Каркас программы которая определяет строки-перевёртыши в приложении. Оформление добавите своё.
ps: метки в паскале - это плохой тон. Удачи!
Приложение:
--------- Итерация от человека, рекурсия — от Бога (Питер Дойч)
Ответ отправил: Зенченко Константин Николаевич (статус: Профессор) Украина, Киев Тел.: +380979536619 Адрес: Украина г.Киев ---- Ответ отправлен: 29.10.2008, 11:20
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 148864 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо... Особенно за напоминание про метки! ;)
Отвечает: Шичко Игорь
Здравствуйте, Komissarex! Ошибка в том, что переменную b необходимо изначально установить в True, ф при наличии несовпадений перевести в False. И немного другой алгоритм анализа перевертыша. Весь код не привожу, только исправленный: ... begin clrscr; b:=true; ....
{----------Цикл определения - перевертыш или нет----------------} for i:=1 to dl div 2 do begin if a[i]<> a[dl - i+1] then b:=false; end; {-----------------------------------------------------------------}
Ответ отправил: Шичко Игорь (статус: Студент)
Ответ отправлен: 29.10.2008, 11:43
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 148864 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Не знаю, поможет ли.... Но все равно спасибо!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.