![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
maximmax |
![]() ![]()
Сообщение
#1
|
|||
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Входной массив А 6Х6
формируемый B 6Х6 где b[i,j]=i*cos(i+j) i:=1..6, j:=1..6 для каждой из матриц вычислить число элементов меньших 0.5(NA и NB) Переставить строчки местами в маттрице А, если NA>NB и в матрице B если NA<=NB(матрица C) вывести A,B, NA, NB, C. текст проги.
program matrix; написал не правильно. т.к не считает у меня элементы матрици А и B..вот это я и не понимаю как сделать... помогите плз! Сообщение отредактировано: klem4 - 30.12.2007 13:56 Прикрепленные файлы ![]() |
|||
![]() ![]() |
andriano |
![]()
Сообщение
#2
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
1. Неужели трудно заглянуть в соседнюю тему и посмотреть, как принято оформлять исходик?
2. Если я правильно понял, программа делает то, чего нет в условии, а именно - запрос размеров матриц. 3. Для начала я бы попытался заменть read на readln. 4. В условии, если я его правильно понял, требуется сформировать НОВУЮ матрицу С из переставленных элементов А или В в зависимости от условия, у тебя же всегда обрабатывается А и записывается в нее же. И она же распечатывается. 5. Проверь индексацию в том месте, где ты пытаешься переставить местами элементы. Собственно, лучше сначала поправь программу в соответствии с 4, а когда распечатаешь матрицу С, сам поймешь в чем дело. 6. По поводу readln(q);{readkey ne rabotaet(( sdelal tak vihod} - оно работает, ждет от тебя ввода числа q, но т.к. ты, скорее всего, нажимаешь на ввод, ничего не вводя, то оно снова и снова просит тебя ввести число. Просто ожидание нажатия на enter - readln без параметров. Если же хочешь чтобы работало именно readkey, а не readln, нужно подключать crt. Сообщение отредактировано: andriano - 30.12.2007 14:15 |
sweet dew |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 1 Пол: Женский Репутация: ![]() ![]() ![]() |
Ну, во-первых, ты элементы (,0.5) матрицы В считаешь до того, как собственно задашь эти элементы!!!Так что писать нужно
-------------------- [i][b]sweet dew
|
maximmax |
![]() ![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
я переписал всё....только вот странно....вчера всё строки переставлялись..а сегодня после замечаний бац...и не переставляются...
сейчас всё переделал...только вот не втыкаю элемент матрици это то что я ввожу? или его надо по страшной формуле искать?а то где не смотрел что то никто не искал элементов матрицы...
Прикрепленные файлы ![]() |
andriano |
![]()
Сообщение
#5
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
У меня несколько вопросов по приведенному фрагменту кода:
в первой стоке для адресации используются переменные цикла, но ВНЕ циклов. К каким элементам массивов a и b осуществляется доступ? в 3-й строке у тебя перебор до m. Максимальное значение m, насколько понимаю, 6. Вопрос: к какому элементу массива будет обращение в 8-10 строках? Посчитай значения индексов. Сообщение отредактировано: andriano - 30.12.2007 17:40 |
maximmax |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня несколько вопросов по приведенному фрагменту кода:
в первой стоке для адресации используются переменные цикла, но ВНЕ циклов. К каким элементам массивов a и b осуществляется доступ? в 3-й строке у тебя перебор до m. Максимальное значение m, насколько понимаю, 6. Вопрос: к какому элементу массива будет обращение в 8-10 строках? Посчитай значения индексов. так а к каким надо обращаться? если как у меня то будет i,j=1 => g=1 h=2 i,j=2 => g=3 h=4 i,j=3 => g=5 h=6 i,j=4 => g=7 h=8 i,j=5 => g=9 h=10 i,j=6 => g=11 h=12 |
andriano |
![]()
Сообщение
#7
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
так а к каким надо обращаться? В условии они называются NA и NB, а у тебя в прогамме o и l. Цитата если как у меня то будет i,j=1 => g=1 h=2 i,j=2 => g=3 h=4 i,j=3 => g=5 h=6 i,j=4 => g=7 h=8 i,j=5 => g=9 h=10 i,j=6 => g=11 h=12 Ну и что, в твоих матрицах есть элементы с такими индексами? Вклюыи в компиляторе проверки выход из диапазона. |
maximmax |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Сравнивать надо было КОЛИЧЕТВО элементов подсчитанное для каждой из матриц (число целое), а не величину отдельных элементов матрицы. В условии они называются NA и NB, а у тебя в прогамме o и l. Ну и что, в твоих матрицах есть элементы с такими индексами? Вклюыи в компиляторе проверки выход из диапазона. тоесть так надо..
я в паскале то первый раз и не понимаю....что за проверки выхода диапазона... и я не понимаю вот этих строчек....я просто по подобию делал....а как что для чего что мне никто не обьяснял..
сдесь можно как нибудь сделать чтоб не по элементно было а сразу строчка.....? там например 1 я строчка со всеми элементами в s записывалась и менялась со второй....потом 3 я срочка так же с 4й...5 я с 6й... я еще попробовал сделать вот так(ведь матрица 6Х6 так и задасть так перемену строк)
но что то не прожевал паскаль((((((((((((((((((((((((99 может эту запись можно подправить и он будет по элементно перемещать строчки? Сообщение отредактировано: maximmax - 30.12.2007 21:05 |
andriano |
![]()
Сообщение
#9
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
я в паскале то первый раз и не понимаю....что за проверки выхода диапазона... У тебя в массиве 6 элементов, а ты пытаешься обратиться к 12-му. Так онятнее?и я не понимаю вот этих строчек....я просто по подобию делал....а как что для чего что мне никто не обьяснял.. Цитата
сдесь можно как нибудь сделать чтоб не по элементно было а сразу строчка.....? там например 1 я строчка со всеми элементами в s записывалась и менялась со второй....потом 3 я срочка так же с 4й...5 я с 6й... Можно. Двумерный массив можно представить как массив одномерных массивов. Т.е. a[i,j] то же самое, что a[i][j], т.е. строка массива записывается так: a[i]. |
maximmax |
![]()
Сообщение
#10
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
я еще попробовал сделать вот так(ведь матрица 6Х6 так и задасть так перемену строк)
но что то не прожевал паскаль((((((((((((((((((((((((99 может эту запись можно подправить и он будет по элементно перемещать строчки? |
andriano |
![]()
Сообщение
#11
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Это что, шутка такая?
В общем, соображения такие: за один проход цикла ты обрабатываешь по две строки матрицы. Значит, длина цикла должна быть в 2 раза меньше (если бы обрабатывал по 3 строки - то в 3 раза меньше). Откуда: for i:=1 to m div 2 do begin {cikl zameni 4etnih strok na ne 4etnie} Для b, естественно, следать аналогично. |
maximmax |
![]()
Сообщение
#12
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это что, шутка такая? В общем, соображения такие: за один проход цикла ты обрабатываешь по две строки матрицы. Значит, длина цикла должна быть в 2 раза меньше (если бы обрабатывал по 3 строки - то в 3 раза меньше). Откуда: for i:=1 to m div 2 do begin {cikl zameni 4etnih strok na ne 4etnie} Для b, естественно, следать аналогично. чего то пишет Types Mishmatch...... хотя integer с real менял и так и так.....и сяк.... все равно.. а моя фигулинка вроде считает....ненаю тока..я ошибок не нашел....
Сообщение отредактировано: maximmax - 30.12.2007 23:30 Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 10:50 |