IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Двумерный массис, напечатать
denolend
сообщение 11.12.2011 19:43
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: denis

Репутация: -  0  +


Задача : Напечатать диагонали таблицы 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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Krjuger
сообщение 11.12.2011 21:03
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +



for i:=1 to s+1 do
begin
write(a[m-i+j,j]:4);
s:=s+1;
end;


В теле цикла нельзя менять пределы прохода цикла,вы уходите в бесконечность.А вообще помимо прямого прохода цикла есть и обратный for i:=m downto 1 do вы пройдете с mого элемента до первого.....я думаю правильней его использовать.А вообще задание не совсем корректно,как можно напечатать диагональ неквадратной матрицы???Затем бессмысленно писать randomize; ,если вы его не используете при заполнении матрицы.

Сообщение отредактировано: Krjuger - 11.12.2011 21:04
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 29.07.2025 16:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"