![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Insomnia |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: ![]() ![]() ![]() |
7 6 5 4 3 2 1
6 5 4 3 2 1 2 5 4 3 2 1 2 3 4 3 2 1 2 3 4 3 2 1 2 3 4 5 2 1 2 3 4 5 6 1 2 3 4 5 6 7 как заполнить матрицу размером n*n таким образом? --- подскажите , от чего мне надо отталкиваться? побочную диагональ я могу заполнить еденицами, а как мне симметрично относительно их, заполнить последующими числами?! |
![]() ![]() |
Freedom |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
Тут у нас идёт уже Математика. Смотрим если бы у нас была матрица такого типа
j=1 j=2 j=3 j=4 j=5 j=6 j=7 i=1 1 2 3 4 5 6 7 i=2 2 1 2 3 4 5 6 i=3 3 2 1 2 3 4 5 i=4 4 3 2 1 2 3 4 i=5 5 4 3 2 1 2 3 i=6 6 5 4 3 2 1 2 i=7 7 6 5 4 3 2 1 тогда элемент a[i,j] будет иметь значение |i-j|+1 а эту матрицу нам остаётся отразить слева направо и тогда получится что j=1 j=2 j=3 j=4 j=5 j=6 j=7 i=1 7 6 5 4 3 2 1 i=2 6 5 4 3 2 1 2 i=3 5 4 3 2 1 2 3 i=4 4 3 2 1 2 3 4 i=5 3 2 1 2 3 4 5 i=6 2 1 2 3 4 5 6 i=7 1 2 3 4 5 6 7 элемент a[i,n-j+1] будет иметь значение |i-j|+1 for i:=1 to n do Сообщение отредактировано: Freedom - 27.12.2010 18:16 -------------------- From ZERO to HERO
|
Insomnia |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код const n=5; var a: array[1..n,1..n] of integer; i,j:integer; begin writeln('vvedite massiv'); randomize; for i:=1 to n do for j:=1 to n do a[i,j]:=random(6); for i:=1 to n do for j:=1 to n do write(a[i,j]:3); writeln; for i:=1 to n do for j:=1 to n do a[i,n-j+1]:=abs(i-j)+1; for i:=1 to n do for j:=1 to n do Write(a[i,j]:3); ReadLn end. вроде вот так.. если считая по главной диагонали, то Код const n=5; var a: array[1..n,1..n] of integer; i,j:integer; begin writeln('vvedite massiv'); randomize; for i:=1 to n do for j:=1 to n do a[i,j]:=random(6); for i:=1 to n do for j:=1 to n do write(a[i,j]:3); writeln; for i:=1 to n do for j:=1 to n do a[i,j]:=abs(i-j)+1; for i:=1 to n do for j:=1 to n do Write(a[i,j]:3); ReadLn end. |
Freedom |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
Write(a[i,j]:3); - тут не правильно, у вас массив типа integer, а не real поэтому write(a[i,j]); и ещё лучше выводить таким образом For i:=1 to n do begin Сообщение отредактировано: Freedom - 27.12.2010 20:11 -------------------- From ZERO to HERO
|
Insomnia |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 49 Пол: Мужской Репутация: ![]() ![]() ![]() |
хм, верно.
спасибо вам большое за помощь ![]() |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата Write(a[i,j]:3); - тут не правильно С чего бы? У Паскаля изменился синтаксис? Или правильнее вталкивать всегда один пробел после выведенного значения, независимо от того, сколько цифр напечатано, так что-ли?Ну, тогда попробуй заполнить матрицу 10*10 (вместо 5*5), и увидишь, что твой способ корёжит вывод данных, а write(a[i,j]:3) - нет... Или теперь специально введенные для удобства в язык средства принято "не уметь использовать", а пользоваться нужно сомнительными самопальными заменителями? P.S. Как же мне нравится, когда приходит человек, едва-едва знакомый с языком, и начинает налево и направо рассуждать о правильности или неправильности тех или иных конструкций... |
Freedom |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
P.S. Как же мне нравится, когда приходит человек, едва-едва знакомый с языком, и начинает налево и направо рассуждать о правильности или неправильности тех или иных конструкций... Извиняюсь, согласен язык я знаю едва едва, но как говорится на ошибках учатся. Но вот мне интересно зачем автор темы в своих программах заполняет матрицу случайными числами? -------------------- From ZERO to HERO
|
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 10:17 |