![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
denolend |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: denis Репутация: ![]() ![]() ![]() |
Задача : Напечатать диагонали таблицы m*n двигаясь от леого нижнего угла к правому верхнему.
я вроде как придумал алгоритм ,но программа почему-то не работает. Подскажите что добавить или исправить плз. код: program napechatat; uses crt; Const n=3; m=3; var a:array[1..m,1..n] of integer; i,j,s,ostatok:integer; begin clrscr; randomize; s:=0; j:=0; i:=0; for i:=1 to n do begin for j:=1 to m do begin s:=s+1; a[i,j]:=s; write(a[i,j]:4); end; writeln; end; writeln; s:=0; for j:=1 to n do begin for i:=1 to s+1 do begin write(a[m-i+j,j]:4); s:=s+1; end; writeln; end; writeln; end. |
![]() ![]() |
Krjuger |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
В теле цикла нельзя менять пределы прохода цикла,вы уходите в бесконечность.А вообще помимо прямого прохода цикла есть и обратный for i:=m downto 1 do вы пройдете с mого элемента до первого.....я думаю правильней его использовать.А вообще задание не совсем корректно,как можно напечатать диагональ неквадратной матрицы???Затем бессмысленно писать randomize; ,если вы его не используете при заполнении матрицы. Сообщение отредактировано: Krjuger - 11.12.2011 21:04 |
IUnknown |
![]()
Сообщение
#3
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата А вообще задание не совсем корректно,как можно напечатать диагональ неквадратной матрицы??? Опять ты за свое? Я ж тебе уже где-то говорил, что диагональ - это то, что начинается в одном из углов (в зависимости от того - какая именно диагональ), и продолжается не до другого угла, а пока не закончатся строки/стобцы матрицы (что раньше закончится - то и прекращает процесс прохода по диагонали). Просто в случае квадратной матрицы эти 2 условия выполняются одновременно, и диагональ проходит от одного угла до другого. Так что напечатать можно все, что угодно. Для этого даже не надо десяток циклов, достаточно:const, что выводит:
|
denolend |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: denis Репутация: ![]() ![]() ![]() |
спасибо большое!
|
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 16:22 |