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

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

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

 
 Ответить  Открыть новую тему 
> Матрица
сообщение
Сообщение #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  
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 К началу страницы 
+ Ответить 

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

 




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