2 / 2 / 1
Регистрация: 04.11.2012
Сообщений: 10
1

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

16.11.2012, 18:59. Показов 744. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Итак задача в том чтоб заполнить массив определённым образом. Массив 10 на 10, в первой строке заполнено элементы от 2 до 9(включительно), во второй от 3 до 8(включительно),в третий от 4 до 7(включительно), а дальше только 5 и 6 элемент строки. Примет ниже(надеюсь после публикации расстановка не собьётся в кучу.) Успешно накодил верх программы дойдя до 4 строки и там вошёл в ступор, ибо дальше, последующие 6 строчек должно заполняться только 5 и 6 столбец.
Пасибо всем кто вникнет.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 program massiv2;
 uses crt;
 const   num=10;
 var
    oper,
 
    i,j :   integer;
    wrk: integer ;
    ms: array[1..num, 1..num] of integer;
 begin
   for i:=1 to num do
   for j:=1 to num do
      ms[i,j]:=0;
   wrk:=1;
 
 
 
                                               { .   1  2  3  4  5 6 7 8 . }
   for i:=1 to 10 do                      { . . 9 10 11 12 13 14 . . }
     begin                                   { . . . 15 16 17 18 . . . }
    j:=1+i; if j>4 then j:=5;            { . . . . 19 20 . . . . }
    while(j <= 10-i) do                   { . . . . 21 22 . . . . }
      begin                                   { . . . . 23 24 . . . . }
        ms[i,j]:=wrk;                       { . . . . 25 26 . . . . }
        wrk:=wrk+1;                       { . . . . 27 28 . . . . }
                                             { . . . . 29 30 . . . . }
                                             { . . . . 31 32 . . . . }
 
         j:=j+1
      end;
        end;
   for i:=1 to num do
     begin writeln;
           for j:=1 to num do
           write( ms[i,j]:7)
     end;
 
 
 
    end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2012, 18:59
Ответы с готовыми решениями:

Формирование двухмерного массива и заполнение его случайными числами
сформировать двухмерный массив размером N на N массив заполнить случайными числами из отрезка

Заполнение двухмерного массива спиралью
Составить программу которая заполняет квадратную матрицу порядка n натуральными числами...

Заполнение двухмерного массива числами по вертикали
Здравствуйте! Нужен код программы на Турбо Паскаль, который заполняет числами 1,2,3,4.......

Найти произведение чисел строки двухмерного массива, содержащей максимальный элемент массива
Помогите пожалуйста :cry: Напишите программу, которая находит произведение чисел той строки...

3
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
16.11.2012, 19:16 2
ну как то так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
program massiv2;
 
const
  num = 10;
 
var
  oper,
  i, j:   integer;
  wrk: integer;
  ms: array[1..num, 1..num] of integer;
 
begin
  for i := 1 to num do
    for j := 1 to num do
      ms[i, j] := 0;
  wrk := 0;
  
  for i := 1 to 10 do                    
  begin
    if i > 4 then 
      for j := num div 2 to num div 2 + 1 do
      begin
        wrk := wrk + 1;
        ms[i, j] := wrk;
      end else
      j := 1 + i;           
    while(j <= 10 - i) do                
    begin
      wrk := wrk + 1;
      ms[i, j] := wrk;                                            
      j := j + 1
    end;
  end;
  for i := 1 to num do
  begin
    writeln;
    for j := 1 to num do
      write( ms[i, j]:4)
  end;
end.
1
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
16.11.2012, 19:22 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
program massiv2;
uses crt;
const n=10;
var a:array[1..n,1..n] of byte;
    i,j,k:byte;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=0;
k:=0;
for i:=1 to 4 do
for j:=i+1 to n-i do
 begin
  k:=k+1;
  a[i,j]:=k;
 end;
for i:=5 to n do
for j:=5 to 6 do
 begin
  k:=k+1;
  a[i,j]:=k;
 end;
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
end.
1
2 / 2 / 1
Регистрация: 04.11.2012
Сообщений: 10
16.11.2012, 19:37  [ТС] 4
Пасииибоо
0
16.11.2012, 19:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2012, 19:37
Помогаю со студенческими работами здесь

Заполнение двухмерного массива зигзагом
Нужно заполнить массив n-го порядка Очень нужно, помогите))

Заполнение двухмерного массива
Есть духмерный массив 4х3 (шапка таблицы ниже) Нужно последовательно заполнять элементы массива...

Заполнение двухмерного массива
Создаю двухмерный массив. Но когда его заполняю, выдает ошибку. Помогите пожалуйста разобраться что...

Заполнение двухмерного массива
Помогите пожалуйста.... что-то совсем из головы вылетело. Кажется была в VBA такая функция просто...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru