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

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

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

> Матрица
Виталик
сообщение 17.01.2004 14:55
Сообщение #1


Гость






Пожалуйста помогите решить задачу(это вопрос жизни или смерти):вводится натуральное число n(1<=n<=10);пронумеровать
клетки квадратной матрицы n*n челночным ходом по диагоналям.
Например для n=4:
                                1   2   6   7
                                3   5   8   13
                                4   9   12 14
                                10 11 15 16  
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
dushik
сообщение 1.02.2004 12:11
Сообщение #2


Новичок
*

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

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


Я решал похожую задачу, вот:
Код

program matrix;
uses crt;
var i,j,nom,dio,dios:byte;
zad:integer;
mat:array [1..25,1..25] of byte;
begin
  clrscr;
  textcolor(white);
  writeln('vvedite zadergku vivoda matrizi');
  readln(zad);
  clrscr;
  randomize;
  textcolor(green);
  for i:=1 to 20 do
   begin
     for j:=1 to 20 do
      begin
      mat[i,j]:=random(10);
      end;
   end;
  dios:=0;
  for i:=20 downto 1 do
   begin
     dios:=dios+1;
     dio:=dios;
      if (i mod 2)<>0 then
      begin
      dio:=20;
      for j:=i downto 1 do
     begin
       gotoxy(j,dio);
       write(mat[dio,j]);
       delay(zad);
       dio:=dio-1;
     end;
     end
     else
     for j:=1 to i do
      begin
      gotoxy(j,dio);
      write(mat[dio,j]);
      delay(zad);
      dio:=dio+1;
      end;
   end;
{} dios:=0;
  for i:=20 downto 1 do
   begin
     dios:=dios+1;
     dio:=dios;
      if (i mod 2)=0 then
      begin
      dio:=20;
      for j:=i downto 1 do
     begin
       gotoxy(dio,j);
       write(mat[j,dio]);
       delay(zad);
       dio:=dio-1;
     end;
     end
     else
     for j:=1 to i do
      begin
      gotoxy(dio,j);
      write(mat[j,dio]);
      delay(zad);
      dio:=dio+1;
      end;
   end;
end.


--------------------
На самом деле самого дела нет. В самой деятельности заключена самость дела и наоборот. Наоборот получим оборот на, таким образом перевернем образ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
tricker
сообщение 1.02.2004 13:12
Сообщение #3


Гость






Код
program lat_kv;
uses crt;
var a:array[1..100,1..100] of integer;
   i,j,n:integer;
begin
clrscr;
write('Введите размер ');
readln(n);
 for i:=1 to n do
  for j:=1 to n do
  begin
   a[i,j]:=j+i-1;
    if a[i,j]>n then a[i,j]:=a[i,j]-n;
  end;
 for i:=1 to n do
  begin
   for j:=1 to n do
    write(a[i,j],' ');
    writeln;
  end;
readln;
end.


Сообщение отредактировано: volvo - 18.12.2004 2:23
 К началу страницы 
+ Ответить 

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

 



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