Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Пупорев Юрий Борисович
Статус: Специалист
Рейтинг: 264
∙ повысить рейтинг >>
Зенченко Константин Николаевич
Статус: Профессор
Рейтинг: 184
∙ повысить рейтинг >>
Николай // Programmator
Статус: 9-й класс
Рейтинг: 103
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 780
от 10.01.2009, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 239, Экспертов: 36
В номере:Вопросов: 1, Ответов: 4

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 156740: Дана матрица A[k,n].В строках, где все элементы четные и положительные найти максимум. Программа почему то выводит всегде значение первого элемента строки...


Вопрос № 156.740
Дана матрица A[k,n].В строках, где все элементы четные и положительные найти максимум.
Программа почему то выводит всегде значение первого элемента строки

Приложение:

Отправлен: 05.01.2009, 18:09
Вопрос задал: Жгун Дмитрий Андреевич (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Пупорев Юрий Борисович
Здравствуйте, Жгун Дмитрий Андреевич!
Исправил Ваш код, немного еще переделал по своему, не понравится, переделаете обратно. Это ввод и вывод.

Приложение:

Ответ отправил: Пупорев Юрий Борисович (статус: Специалист)
Ответ отправлен: 05.01.2009, 18:35

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240348 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо большое!


    Отвечает: Зенченко Константин Николаевич
    Здравствуйте, Жгун Дмитрий Андреевич!

    Вариант с использованием логических переменных.
    Комментировал только измененный код.
    ps:помему так проще
    Удачи!

    Приложение:

    ---------
    Итерация от человека, рекурсия — от Бога (Питер Дойч)

    Ответ отправил: Зенченко Константин Николаевич (статус: Профессор)
    Украина, Киев
    Тел.: +380979536619
    Адрес: Украина г.Киев
    ----
    Ответ отправлен: 05.01.2009, 18:48

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240349 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Emmanuel Goldstein
    Здравствуйте, Жгун Дмитрий Андреевич!
    Как я понял. Задание - вывести ОДИН элемент матрицы, но ЧЕТНЫЙ и МАКСИМАЛЬНЫЙ.
    В таком случае в вашем коде 1 лишняя строка, назначение которой мне не понятно.
    И самое интересное. При вводе вы сначала перебираете слолбцы(элементы в строке), а затем строки, т. е. вводите матрицу по столбцам. А когда проверяете(ищите максимум), то вы транспонируете "матрицу проверки", т.е. если у вас матрица строка, а вы проверяете ее как матрицу столбец, то совпадает только первый элемент, который и является максимальным.
    Вым следует, либо поменять i на j во второй паре "for'ов", либо потом при взятии элементов, что я и сделал.

    Как пишут во многих книгах(рассылках) по программированию на Ассемблере - пользуйтесь отладчиком.

    Отладчик объясняет программисту - что делает его программа :)

    Ваш код ниже, тестил на FreePascal:

    Задание:
    В строках, где все элементы четные и положительные найти максимум.
    Т.е. найти максимальный элемент только в тех строках в которых все числа положительны и четны, а не вовсех строках массива.
    Первым элементом массива max:=a[ 1, 1 ]; может быть и число со значением MaxInt -содержит самое большое целое число (32,767) - нечетное. Правильно max:=0; или max:=-1;
    --------
    ∙ Отредактировал: Зенченко Константин Николаевич, Профессор
    ∙ Дата редактирования: 05.01.2009, 20:43 (время московское)

    Приложение:

    ---------
    Основное правило хакера: "Научился сам, научи другого".

    Ответ отправил: Emmanuel Goldstein (статус: 3-й класс)
    Ответ отправлен: 05.01.2009, 19:00

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240352 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Micren
    Здравствуйте, Жгун Дмитрий Андреевич!
    Из Вашего задания я не совсем понял надо найти в каждой такой строке максимум, или в совокупности таких строк. Поэтому 2 программы. 1я ищет в каждой строке, удовлетворяющей условию, а вторая в совокупности таких строк. Я убрал лишний цикл по строкам. Он абсолютно не нужен. Так же массив размещается в памяти динамически.

    Приложение:

    Ответ отправил: Micren (статус: 6-й класс)
    Ответ отправлен: 05.01.2009, 19:12

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240353 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное