Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
mariamiromortu
0 / 0 / 2
Регистрация: 06.06.2013
Сообщений: 30
#1

Вставить строку,массив.Рекурсия - Delphi

03.07.2013, 07:02. Просмотров 458. Ответов 1
Метки нет (Все метки)

1.Задача заключается в том, чтобы вставить первую строку после той, где находится максимальный элемент.У меня строка не вставляется.
2.И как сделать рекурсивно


Код:
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
61
62
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var y:array[0..2,0..2] of Integer;
i,j,k,n,max:Integer;
begin
 for i:=0 to 2 do begin
   for j:=0 to 2 do begin
     y[j,i]:=StrToInt(StringGrid1.cells[j,i]);
   end;
 end;
 
max:=0;
 for i:=0 to 2 do begin
   for j:=0 to 2 do begin
    if y[j,i]>max then begin
      max:=y[j,i];n:=i;
    end;
   end;
 end;
 
  for i:=0 to 2 do begin
   for j:=0 to 2 do begin
   k:=y[j,i];
   y[j,i]:= y[j,n];
   y[j,n]:=k;
   end;
   end;
 
 
 for i:=0 to 2 do begin
   for j:=0 to 2 do begin
     StringGrid2.cells[j,i]:=inttostr(y[j,i]);
   end;
 end;
end;
end.

http://www.cyberforum.ru/delphi-beginners/thread1992504.html
0
Миниатюры
Вставить строку,массив.Рекурсия  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2013, 07:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вставить строку,массив.Рекурсия (Delphi):

Delphi Excel вставить строку
Здравствуйте, подскажите как добавить строку в excel с помощью delphi 7 скрипт...

Как вставить строку в RichEdit
Всем доброго времени суток! Помогите пожалуйста!!! Суть проблемы: есть две...

Вставить знак переноса в строку
Люди подскажите как разбить одну строку на две в дельфи 7. Например как в C#:...

Как вставить в строку одинарную кавычку?
Как вставить одинарную кавычку? st=''' a:='''

Вставить строку в Мемо, в текущую позицию курсора
Написать программу, которая выводит на экран окно, в котором находится строка...

1
Puporev
Модератор
54130 / 41763 / 28874
Регистрация: 18.05.2008
Сообщений: 98,289
03.07.2013, 09:45 #2
2.
Delphi
1
2
3
4
5
6
7
8
9
function f(n,k:integer):real;
begin
if k=n then f:=sqrt(8)
else
 begin
  if odd(k) then f:=sqrt(8-f(n,k+1))
  else f:=sqrt(8+f(n,k+1))
 end
end;
Добавлено через 22 минуты
1 программа написана и сделана очень коряво,но изменять по существу не стал.
На форме 1-я таблица 3х3, 2-я 4х3
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
procedure TForm1.Button1Click(Sender: TObject);
var y:array[0..3,0..2] of Integer;
    i,j,k,n,max:Integer;
begin
for i:=0 to 2 do
for j:=0 to 2 do
y[i,j]:=StrToInt(StringGrid1.cells[j,i]);
 
max:=y[0,0];
n:=0;
for i:=0 to 2 do
for j:=0 to 2 do
if y[i,j]>max then
 begin
  max:=y[i,j];
  n:=i;
 end;
if n=2 then//если макс в последней
 begin
  for j:=0 to 2 do
  y[3,j]:=y[0,j] //допишем первую ниже
 end
else //если нет
 begin
  for i:=3 downto n+2 do//сдвинем строки ниже макс на 1 вниз
  for j:=0 to 2 do
  y[i,j]:=y[i-1,j];
  for j:=0 to 2 do
  y[n+1,j]:=y[0,j] //допишем первую ниже макс
 end;
for i:=0 to 3 do
for j:=0 to 2 do
StringGrid2.cells[j,i]:=inttostr(y[i,j]);
end;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2013, 09:45
Привет! Вот еще темы с решениями:

Перед каждым входящим символом С в строку S1 вставить слово S2
Дана строка S1, полученная из текстового файла произвольно веденного слова S2 и...

Вставить после каждой нечетной строки первую строку
Вот такое задание. На форуме смотрел, но запутался во всех этих...

Вставить текст в определенную строку ячейки таблицы в ворде
Доброго времени суток. Подскажите, как это можно сделать?

Вставить после всех строк, содержащих минимальное значение строку 1,2,3,…
Вставить после всех строк, содержащих минимальное значение строку 1,2,3,…. ....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru