Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 56
1

Заполнение двумерного массива

14.12.2013, 21:53. Показов 5454. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заполнить квадратную матрицу следующим образом: элементы главной диагонали равны 1, элементы, расположенные на линиях, параллельных главной диагонали (выше и ниже) равны 2, 3, …
Например, при N=5 имеем следующую матрицу:
1 2 3 4 5
2 1 2 3 4
3 2 1 2 3
4 3 2 1 2
5 4 3 2 1
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2013, 21:53
Ответы с готовыми решениями:

Заполнение двумерного массива змейкой
Дан двумерный массив размером 10х10, заполнить змейкой слева-направо, снизу-вверх, таким образом: ...

заполнение двумерного массива змейкой
Здравствуйте. Помогите решить задачу: Дано число N и одномерный массив, состоящий из N в квадрате...

Заполнение двумерного массива
процедура ввода задана случайными цифрами, написать программу, которая заполняет двумерный массив

Заполнение двумерного массива
Заполнить двумерный массив, размерностью 6 на 6. Вот в таком порядке... 1 3 4 10 11 21 2 ...

2
109 / 50 / 55
Регистрация: 17.09.2013
Сообщений: 298
15.12.2013, 01:18 2
Лучший ответ Сообщение было отмечено Дарья 18 как решение

Решение

много циклов получилось, но других вариантов пока не предлогали, так что пока вот так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var
a:array[1..9,1..9] of integer;
i,j,n:integer;
begin
write('Ââåäèòå ïîðÿäîê ìàòðèöû: '); readln(n);
for i:=1 to n do
  for j:=i to n do
    a[i,j]:=j-i+1;
for i:=2 to n do
 for j:=1 to i-1 do
  a[i,j]:=i-j+1;
for i:=1 to n do
 begin
  for j:=1 to n do write(a[i,j]:2);
  writeln;
 end;
end.
1
Модератор
9871 / 5239 / 3306
Регистрация: 17.08.2012
Сообщений: 16,007
15.12.2013, 02:17 3
Или так (два цикла):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program task_1_3;
 
var i, j, n: integer;
    m: array [1..26, 1..26] of integer; //на экране больше не поместится
 
begin
  repeat //если не делать проверку n, то этого не нужно
    write('n = '); readln(n);
    if (n < 1) or (n > 26) then writeln('Error: n out of range 1..26') //и этого
  until (n >= 1) or (n <= 26); //и этого
  writeln('Result array:');
  for j := 1 to n do
    begin
      for i := 1 to n do
        begin
          m[i, j] := abs(i - j) + 1;
          write(m[i, j]:3)
        end;
      writeln
    end;
  readln
end.
Добавлено через 15 минут
Можно и с одним циклом, но это уже извращение:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program task_1_3;
 
var i, n: integer;
    m: array [1..26, 1..26] of integer; //на экране больше не поместится
 
begin
  repeat //если не делать проверку n, то этого не нужно
    write('n = '); readln(n);
    if (n < 1) or (n > 26) then writeln('Error: n out of range 1..26') //и этого
  until (n >= 1) or (n <= 26); //и этого
  writeln('Result array:');
  for i := 1 to n * n do
    begin
      m[i mod n + 1, i div n + 1] := abs((i - 1) div n - (i - 1) mod n) + 1;
      write(m[i mod n + 1, i div n + 1]:3);
      if i mod n = 0 then writeln
    end;
  readln
end.
1
15.12.2013, 02:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2013, 02:17
Помогаю со студенческими работами здесь

Заполнение двумерного массива
Заполните двумерный массив размерности n*n следующим образом: 0 0 0 0 0 0 0 0 ... 2 2 2 2 2 2 2...

Заполнение двумерного массива по правилу
Помогите создать программу заполняющую двумерный массив следующим образом: 0 3 3 3 3 3 3 3 3 1...

заполнение двумерного массива ошибка
Почему массив не заполняется нормально - числами по порядку (1,2,3,4...), а единицами???????????? ...

Поиск элементов в файле и заполнение двумерного массива
Добрый день, уважаемые посетители этого раздела. Нужен дельный совет в написании программы на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru