Замена элементов матрицы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Замена элементов матрицы |
ZanakZ |
17.12.2007 12:36
Сообщение
#1
|
Гость |
Нужно решить задачу :
Даны целые числа a1,..,a10 , целочисленная квадратная матрица порядка n. Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные среди a1,..,a10 . Заранее спасибо. |
Ozzя |
17.12.2007 12:57
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
ZanakZ
А что не понятно в этой задаче? |
Гость |
17.12.2007 13:22
Сообщение
#3
|
Гость |
|
Айра |
17.12.2007 13:40
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата Заменить нулями в матрице a[i,j]:=0; Цитата 'равные среди a1,..,a10'. допусти последовательность у тебя: 1,2,3,4,5,6,7,8,9,10, а элемент матрицы 2.. он равен одному из элементов последовательноти, значит заменяем его на 0 (если еще и индексы подходящие), а если эл-т матрицы =11, то, т.к. числа 11 в пол-ти нет, оставляем его в покое)) Сообщение отредактировано: Айра - 17.12.2007 13:42 |
ZanakZ |
17.12.2007 21:20
Сообщение
#5
|
Гость |
a[i,j]:=0; допусти последовательность у тебя: 1,2,3,4,5,6,7,8,9,10, а элемент матрицы 2.. он равен одному из элементов последовательноти, значит заменяем его на 0 (если еще и индексы подходящие), а если эл-т матрицы =11, то, т.к. числа 11 в пол-ти нет, оставляем его в покое)) А как это выглядит на примере? Объясните, пожалуйста, хотя бы в общих словах, как это делать, а то что-то непонятно... |
Айра |
17.12.2007 23:01
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Основной цикл должен выглядить примерно так:
А если описать последовательность как множество, то цикл будет намного проще:
Правда у меня возникла проблема с описанием множества (я их еще не проходила ) - не получается включить в него отрицательные числа.. надо покопаться в FAQ'е.. Сообщение отредактировано: Айра - 19.12.2007 13:15 |
volvo |
17.12.2007 23:11
Сообщение
#7
|
Гость |
Цитата не получается включить в него отрицательные числа Это невозможно... Множества могут хранить только значения в диапазоне 0 .. 255 |
Айра |
17.12.2007 23:30
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата Это невозможно... Жаль.. А еще я так поняла, что вывести элементы множества тоже нельзя? to ZanakZ: значит при использовании множества числа последовательности могут быть только в диапазоне 0..255 Сообщение отредактировано: Айра - 17.12.2007 23:30 |
volvo |
17.12.2007 23:46
Сообщение
#9
|
Гость |
Можно, кто мешает поэлементно проверять наличие во множестве и вывод элемента, если он там есть? Почитай вот тут: Множества
|
ZanakZ |
19.12.2007 0:32
Сообщение
#10
|
Гость |
Жаль.. А еще я так поняла, что вывести элементы множества тоже нельзя? to ZanakZ: значит при использовании множества числа последовательности могут быть только в диапазоне 0..255 Понятно. У меня ещё один вопрос: а какую(ие) переменную(ые) мы выводим на экран в самом конце программы? |
Айра |
19.12.2007 6:46
Сообщение
#11
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата У меня ещё один вопрос: а какую(ие) переменную(ые) мы выводим на экран в самом конце программы? Ну, по идее, мы выводим нашу матрицу, только уже измененную.. ..если делать первым способом, когда последовательность представлена массивом, можно вывести и его, для наглядности))) добавлено: в принципе и при использовании множества можно вывести последовательность измененных элементов, почитай ссылку volvo.. Сообщение отредактировано: Айра - 19.12.2007 6:49 |
ZanakZ |
19.12.2007 13:06
Сообщение
#12
|
Гость |
Ну, по идее, мы выводим нашу матрицу, только уже измененную.. ..если делать первым способом, когда последовательность представлена массивом, можно вывести и его, для наглядности))) добавлено: в принципе и при использовании множества можно вывести последовательность измененных элементов, почитай ссылку volvo.. У меня почему-то всегда выводится 0. :-(( |
volvo |
19.12.2007 13:15
Сообщение
#13
|
Гость |
Цитата У меня почему-то всегда выводится 0. Почему-то программы, при запуске которой "всегда выводится 0" не видно... |
Айра |
19.12.2007 13:17
Сообщение
#14
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата У меня почему-то всегда выводится 0. :-(( К сожалению мои телепатические способности сейчас на нуле.. Выложи весь свой код |
ZanakZ |
19.12.2007 13:37
Сообщение
#15
|
Гость |
. Прошу строго не судить, я ещё новичок в Паскале. |
volvo |
19.12.2007 14:05
Сообщение
#16
|
Гость |
Ноль у тебя выводится по одной простой причине: ты распечатываешь значение m[i, j] ПОСЛЕ того, как циклы и по I и по J уже закончились (вот они, проблемы неправильного форматирования исходников... Была бы "лесенка" - увидел бы сам сразу же, или вообще не совершил бы такой ошибки), при этом значения I и J считаются неопределенными, кстати...
Выводи матрицу ПОСЛЕ цикла заполнения полностью (а не один элемент). Еще один совет: компилируй программы с {$R+} в первой строке, это поможет тебе выявлять некоторые ошибки... |
ZanakZ |
6.01.2008 2:24
Сообщение
#17
|
Гость |
Всё запускается! Большое спасибо!
|
Текстовая версия | 6.05.2024 5:18 |