0 / 0 / 0
Регистрация: 31.05.2018
Сообщений: 14
1

Вставить после каждого столбца, начиная со второго, первый столбец

31.05.2018, 14:12. Показов 1603. Ответов 1
Метки нет (Все метки)

Помогите, пожалуйста, исправить код. Задание:вставить после каждого столбца, начиная со второго, первый столбец.
Delphi
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
var
  Form3: TForm3;
   n,m: integer;
   a: array [0..10,0..10] of integer;
implementation
 
{$R *.dfm}
 
 
 
procedure TForm3.Button1Click(Sender: TObject);
var
i,j: integer;
begin
Randomize;
n:=strtoint(Edit1.Text);
m:=strtoint(Edit2.Text);
for i:=0 to n-1 do
 for j:=0 to m-1 do
  a[i,j]:=Round(Sin(Random(100))*100);
StringGrid1.RowCount:=n+1;
StringGrid1.ColCount:=m+1;
with StringGrid1 do
begin
 i:=0;
 for j:=1 to RowCount do
  Cells[i,j]:=IntToStr(j);
 j:=0;
 for i:=1 to ColCount do
   Cells[i,j]:=IntToStr(i);
end;
with StringGrid1 do
 for i:=1 to n do
  for j:=1 to m do
   Cells[j,i]:=IntToStr(a[i-1,j-1]);
end;
 
procedure TForm3.Button2Click(Sender: TObject);
var i,j,k: integer;
begin
 for j:=m downto 3 do
  for i:=1 to n do
  begin
     a[i,j*2-2]:=a[i,j];
     a[i,j*2-1]:=a[1,j];
  end;
with StringGrid2 do
 begin
  StringGrid2.RowCount:=n+1;
  StringGrid2.ColCount:=m+1;
  for i:=1 to RowCount do
  Cells[0,i]:=IntToStr(i);
  for i:=1 to ColCount do
  Cells[i,0]:=IntToStr(i);
  for i:=1 to n do
  for j:=1 to m do
  Cells[j,i]:=IntToStr(a[i-1,j-1]);
 end;
 end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2018, 14:12
Ответы с готовыми решениями:

Вставить первый столбец после столбца, в котором находится первый встреченный элемент А
Подскажите как Вставить первый столбец после столбца, в котором находится первый встреченный...

Столбцы начиная со второй половины помещаются через столбец начиная со второго столбца
Добрый день! Имеется excel файл напечатанного ниже формата: 1. Чётное количество заполненных...

Вставить после каждого нечетного столбца матрицы столбец, состоящий из единиц
1. Даны натуральное число N, целочислинная матрица А размером N*N. Вставить после каждого нечетного...

После каждого столбца, содержащего число а три раза вставить последний столбец
Например а=4 3 4 9 3 4 8 3 7 3 5 3 5 5 2 2 4 5 6 4 2 4 2 4 4 5 4 4 2 преобразовать в 3...

1
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
31.05.2018, 15:20 2
В Делфи лучше пользоваться динамическими массивами. особенно когда размерность массива изменяется.
Delphi
1
2
3
4
5
var a:array of array of integer;
     m,n,i,j,k:integerl
begin
...............................
setlength(a,m,n);
тогда вставка столбцов будет так
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
j:=2;//начнем с 3 столбца(индекс=2)
while j<=n do//пока не выйдем за пределы матрицы по ширине
 begin
  inc(n);//увеличиваем кол. столбцов на 1
  setlength(a,m,n);//выделяем память
  for k:=n-1 downto j do//сдвигаем столбцы на 1 вправо
  for i:=0 to m-1 do
  a[i,k]:=a[i,k-1];
  for i:=0 to m-1 do//на освободившееся место вставляем элементы 1 столбца
  a[i,j]:=a[i,0];
  j:=j+2;//перешагиваем через столбец
 end;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2018, 15:20
Помогаю со студенческими работами здесь

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

Вставить после каждого столбца, содержащего значение равное нулю столбец из нулей
Вставить после каждого столбца, содержащего значение равное нулю столбец из нулей Dim A(1 To 10,...

Как вставить после каждого столбца, содержащего максимальный по модулю элемент, столбец из нулей?
Дан двумерный массив размером n*m, заполненный случайным образом. 1. Вставить после каждого...

В двумерном массиве после каждого столбца, не содержащего число 0, вставить новый столбец, состоящий из одних нулей
В двумерном массиве после каждого столбца, не содержащего число 0, вставить новый столбец,...


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

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

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