Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
mariamiromortu
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 30
#1

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

03.07.2013, 07:02. Просмотров 439. Ответов 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.
0
Миниатюры
Вставить строку,массив.Рекурсия  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2013, 07:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вставить строку,массив.Рекурсия (Delphi):

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

Как вставить строку в RichEdit - Delphi
Всем доброго времени суток! Помогите пожалуйста!!! Суть проблемы: есть две формы (F1 и F2, например), на каждой форме есть RichEdit (RE1...

Delphi Excel вставить строку - Delphi
Здравствуйте, подскажите как добавить строку в excel с помощью delphi 7 скрипт токой Sub Макрос1() ' ' Макрос1 Макрос ' ' ...

Вставить знак переноса в строку - Delphi
Люди подскажите как разбить одну строку на две в дельфи 7. Например как в C#: label1.Text = "Must\nDie";

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

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

1
Puporev
Модератор
52381 / 40228 / 13565
Регистрация: 18.05.2008
Сообщений: 92,967
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 - Delphi
Дана строка S1, полученная из текстового файла произвольно веденного слова S2 и символа C. Перед каждым входящим символом С в строку S1...

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

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

Вставить строку в текстовый файл после строки с заданным номером - Delphi
пусть дан текстовый файл. вставить строку после строки с заданным номером. если строки с указанным номером нет, сообщите об этом


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

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

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