![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Svetka |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Мне нужно
1) найти центр матрицы (7,7) и посчитать сумму нижнего треугольника.....как это сделать? 2)найти центр матрицы(5,5) и посчитать произведение левого бокового треугольника а правый треугольник заменить нулями.как найти эти треугольники? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата(Svetka @ 7.05.05 10:25) 1) найти центр матрицы (7,7) и посчитать сумму нижнего треугольника.....как это сделать? middle := (n div 2) + 1; В твоем случае N = 7. |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(Svetka @ 7.05.05 10:25) 2)найти центр матрицы(5,5) и посчитать произведение левого бокового треугольника а правый треугольник заменить нулями.как найти эти треугольники? function min(a, b: integer): integer; |
Svetka |
![]()
Сообщение
#4
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 7.05.05 13:45) function min(a, b: integer): integer; спасибо большое,а полегче нельзя левый и правый треугольники выделить....... просто я пишу Код function pr(var d:matrix:n,k:integer):integer; var i.j:integer; p1:integer; begin p1:=1; а дальше что б шёл сразу цикл? также и с обнулением правого треугольника |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
for j := 1 to (n div 2) + 1 do |
Svetka |
![]()
Сообщение
#6
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 7.05.05 18:13) for j := 1 to (n div 2) + 1 do пасибо))) и сразу потом выводиться результат?=) |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Ну, да... А что еще нужно?
Только сначала матрицу не забудь заполнить |
Svetka |
![]()
Сообщение
#8
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 7.05.05 20:50) Ну, да... А что еще нужно? Только сначала матрицу не забудь заполнить да........ я заполнила ......пасиба большое))) а если сделать две функции 1 для произведения Код function pr(var d:matrix:n,k:integer):integer; var i.j:integer; p1:integer; begin p1:=1; for j := 1 to (n div 2) + 1 do for i := j to n - j + 1 do begin p := p * a[i, j]; { Левый треугольник } другая для нулей Код function nul(var d:matrix:n,k:integer):integer; var i.j:integer; n1:integer; begin n1:=0; for j := 1 to (n div 2) + 1 do for i := j to n - j + 1 do begin a[i, n - j + 1] := 0; { Правый треугольник } так получается?или не так?) Сообщение отредактировано: Svetka - 8.05.2005 13:44 |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата(Svetka @ 7.05.05 19:55) так получается?или не так?) :yes: Так... Только я не понял, зачем тебе n1:=0;? Ты же его не используешь... И, если можно, еще объясни, что за K ты передаешь в процедуру? Вроде по условию матрица квадратная, а не прямоугольная... ![]() |
Svetka |
![]()
Сообщение
#10
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 8.05.05 17:21) :yes: Так... Только я не понял, зачем тебе n1:=0;? Ты же его не используешь... И, если можно, еще объясни, что за K ты передаешь в процедуру? Вроде по условию матрица квадратная, а не прямоугольная... ![]() точно......я просто думала n это количество ненулевых а мне просто надо нулями заменить значит Код function nul(var d:matrix:n,k:integer):integer; var i.j:integer; n1:integer; begin for j := 1 to (n div 2) + 1 do for i := j to n - j + 1 do begin a[i, n - j + 1] := 0; { Правый треугольник } n кол-во строк а k кол-во столбцов) |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Svetka,
и все-таки... По условию - матрица квадратная. Алгоритм тоже будет работать ТОЛЬКО с квадратной матрицей. А при квадратной матрице K = N... Так что придется тебе убрать K из списка параметров процедуры... Чем меньше параметров передаешь - тем лучше. Еще один вопрос: Что функция возвращает? Возможно, ее стоило бы сделать процедурой. И убери "лишние" описания переменных... |
Svetka |
![]()
Сообщение
#12
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 8.05.05 18:51) Svetka, и все-таки... По условию - матрица квадратная. Алгоритм тоже будет работать ТОЛЬКО с квадратной матрицей. А при квадратной матрице K = N... Так что придется тебе убрать K из списка параметров процедуры... Чем меньше параметров передаешь - тем лучше. Еще один вопрос: Что функция возвращает? Возможно, ее стоило бы сделать процедурой. И убери "лишние" описания переменных... Код program xxx; uses crt; type matrix=array[1..5,1..5] of integer; f:matrix; p:integer; procedure input(var d:matrix;n,k:integer); var i,j:integer; begin clrscr; randomize; for i:=1 to n do begin for j:1 to k do d[i,j]:=random(5); end; end; procedure output(var d:matrix;n,k:integer); var i,j:integer; begin for i:=1 to n do begin for j:1 to k do write(d[i,j:4); writeln; end; end; function pr(var d:matrix:n,k:integer):integer; var i.j:integer; p1:integer; begin p1:=1; for j := 1 to (n div 2) + 1 do for i := j to n - j + 1 do begin p1 := p1 * f[i, j]; { Левый треугольник } end; pr:=p1; function nul(var d:matrix:n,k:integer):integer; var i.j:integer; begin for j := 1 to (n div 2) + 1 do for i := j to n - j + 1 do begin a[i, n - j + 1] := 0; { Правый треугольник } у меня получилось вот так) а когда выводишь матрицу input(f,5,5) она выводица уже заменённая нулями? |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Тебя как видно мои замечания и исправления не интересуют - так вот: твоя программа даже не компилируется. Ошибки есть как синтаксические, так и логические. Но, извини, искать их придется тебе самой... <_<
|
Svetka |
![]()
Сообщение
#14
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 8.05.05 19:12) Тебя как видно мои замечания и исправления не интересуют - так вот: твоя программа даже не компилируется. Ошибки есть как синтаксические, так и логические. Но, извини, искать их придется тебе самой... <_< не.....интересуют........если ты про k говоришь......то она запускается(не именно эта-другие)......просто я так привыкла делать..... спасибо.........за помощь)))) |
Svetka |
![]()
Сообщение
#15
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
я сделала программу....она запускается.....только правельно ли она считает произведение......
|
klem4 |
![]()
Сообщение
#16
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
ты когда-нибудь слашала о контрольных примерах ? рисуешь на бумажке матрицу, считаешь произведение, затем вводишь туже матрицу в программу и сравниваешь результат, если не сошлось значит ошибка
![]() Сообщение отредактировано: klem4 - 8.05.2005 19:49 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Однозначно сказать нельзя. Для данного примера она может отработать правильно, но в ней содержится одна очень нехорошая ошибка...
klem4 - не раскрывай сразу... |
Svetka |
![]()
Сообщение
#18
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 8.05.05 20:52) в ней содержится одна очень нехорошая ошибка... я не могу найти ошибку.......программа не правельно считает произведение....других ошибок я не могу найти..... я не прошу её искать........всё-таки я сама должна её найти...... |
Svetka |
![]()
Сообщение
#19
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(Svetka @ 8.05.05 21:18) я не могу найти ошибку.......программа не правельно считает произведение....других ошибок я не могу найти..... я не прошу её искать........всё-таки я сама должна её найти...... а может поможете найти ошибку если не трудно.......я не могу её найти....... :p2: ![]() ![]() |
volvo |
![]()
Сообщение
#20
|
Гость ![]() |
function pr(var d:matrix;n,k:integer):integer; А теперь, Svetka, подумай, почему то что я отметил не есть хорошо? |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:11 |