Задача на матрицу |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача на матрицу |
Гость |
Сообщение
#1
|
Гость |
Дана матрица размерности N*N, найти минимальный (максимальный) элемент, и заменить нулями элементы в строке и столбце, на пересечении которых расположен данный элемент.
А вот с эти разобраться не получается, подскажите пожалуйста... На надо пихать в одну тему сто разных задач, перемещено Сообщение отредактировано: klem4 - |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Что конкретно н получается ? Не можешь найти мин. элемент ? Не можешь обнулить ? Для начала сходи сюда :
FAQ : Массивы, матрицы + воспользуйся поиском, задача решалась сотни раз. Будут конкретные впросы, задавай. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Alla |
Сообщение
#3
|
Гость |
Так я вроде в своей теме вопрос задавала
Что не получается, все не получается Пробую найти миниммальный элемент, а вместо этого нахожу максимальный: Код program test1; const n=3; m=3; var a : array[1..n, 1..m] of integer; i,j,min : integer; begin writeln('Vvod elementov', n, 'x', m); min:=a[1,1]; for i:=1 to n do for j:=1 to m do begin readln(a[i,j]); if min < a[i,j] then min:=a[i,j]; end; writeln(min); readln; end. Как элементы заменить я вообще не представляю, как указать ту строку и столбец в которой мне надо заменять и как сказать, чтобы заменилось на 0 ??? |
klem4 |
Сообщение
#4
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Во первых для решения этой задачи тебе надо искать не значение мин. элемента, а его координаты в матрице, чтобы после это обнулить соответствующую строку и столбец
поиск мин. элемента :
Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
Сообщение
#5
|
Гость |
Тоесть надо jmin=0 и imin=0 сделать и показать матрицу a[a,j] и ВСЕ ?
|
klem4 |
Сообщение
#6
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Нет .. надо обнулить строку с номером imin, показываю как это делается, столбец сделаешь самостоятельно
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
Сообщение
#7
|
Гость |
Но ведь и значение мин элемента тоже надо показать ???
|
klem4 |
Сообщение
#8
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
И что мешает ? writeln(a[imin, jmin]);
Настоятельно рекомендую взять лекции у одногруппников ... -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Alla |
Сообщение
#9
|
Гость |
Посмотрите пожалуйста:
Код program test1; const n=3; m=3; var a : array[1..n, 1..m] of integer; i,j,sum,s,jmin,imin : integer; begin writeln('Vvod elementov', n, 'x', m); imin := 1; jmin := 1; for i:=1 to n do for j:=1 to m do begin readln(a[i,j]); end; for i:=1 to n do begin writeln; for j:=1 to m do write(a[i,j]); end; writeln; if a[i,j] < a[imin,jmin] then begin imin := i; jmin := j; end; for j:=1 to m do a[imin,j]:=0; for i:=1 to n do a[i,jmin]:=0; for i:=1 to n do begin writeln; for j:=1 to m do write(a[i,j]); end; readln; end. На нули меняется пересечение перdой строки первго столбца ??? И минимальный элемент мне так и не удалось вывести, выводится только наибольший |
klem4 |
Сообщение
#10
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Посмотри, подправил :
program test1; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#11
|
Гость |
Цитата На нули меняется пересечение перdой строки первго столбца ??? Это смотря какие данные ты вводишь... Говорили же неоднократно - приводите данные, на которых тестировалась программа !!!klem4, так и будем полностью решать все время? |
Гость |
Сообщение
#12
|
Гость |
Все с нулями разобрались, кстати а чем я ошиблась...
И еще минимальное число так и не удалось вывести при написании элементарного writeln(a[imin, jmin]) выводится 0, хотя мин - 1, а при writeln(a[i,j]) выводится максимум |
volvo |
Сообщение
#13
|
Гость |
Ты уже затерла минимальное значение нулем... Чтобы этого не происходило - замени
for j:=1 to m do на for j:=1 to m do Больше ничего в программе не добавляй, все прекрасно отрабатывает... |
Alla |
Сообщение
#14
|
Гость |
klem, Volvo, вы лучшие, СПАСИБО !!!
|
Текстовая версия | 28.04.2024 12:45 |