Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2013, 17:27   #1
Sladkijj
 
Регистрация: 18.01.2013
Сообщений: 6
По умолчанию Задача с массивом.

Код:
var
a : array[1..100] of byte;
i,n,k : byte;
sum : integer;
begin
write('input razmernostx n [2..100] : '); readln(n); randomize;
writeln('massive:'); sum:=0;
for i:=1 to n do begin
a[i]:=random(99);
if a[i]<21 then sum:=sum+a[i];
write(a[i]:4);
end;
writeln; writeln('Summa ne prew 20 = ',sum);
write('wwedite nomer el-ta dlq udaleniq k [1..',n,'] : '); readln(k);
dec(n);
for i:=k to n do a[i]:=a[i+1];
writeln('massive posle udaleniq ',k,' el-ta:');
k:=1;
for i:=1 to n do begin
if a[k]>=a[i] then k:=i;
write(a[i]:4);
end; writeln;
writeln('poslednij min el-t = ',a[k],' stoit na ',k,' meste.');
a[n+1]:=a[1]; a[1]:=a[k]; a[k]:=a[n+1];
writeln('massive posle perestanowki ',k,' i 1 mest el-tov:');
for i:=1 to n do write(a[i]:4); writeln;
readln;
end.
Как сделать так, чтобы это всё заработало в окне Form1 (и сколько нужно эдитов, баттонов и т.п.)?

Последний раз редактировалось Stilet; 20.01.2013 в 17:36.
Sladkijj вне форума Ответить с цитированием
Старый 20.01.2013, 17:41   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
unit Unit1;

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
a : array[1..100] of byte;
i,n,k : byte;
sum : integer;

begin
Memo1.Lines.Append('input razmernostx n [2..100] : ');
n:=StrToIntDef(Edit1.Text,0);
randomize;
Memo1.Lines.Append('massive:'); sum:=0;
for i:=1 to n do begin
    a[i]:=random(99);
    if a[i]<21 then sum:=sum+a[i];
    Memo1.Lines.Append(IntToStr(a[i]));
end;
Memo1.Lines.Append('Summa ne prew 20 = '+IntToStr(sum));
Memo1.Lines.Append('wwedite nomer el-ta dlq udaleniq k [1..'+IntToStr(n)+'] : ');
k:=StrToIntDef(Edit2.Text,0);
dec(n);
for i:=k to n do a[i]:=a[i+1];
Memo1.Lines.Append('massive posle udaleniq '+IntToStr(k)+' el-ta:');
k:=1;
for i:=1 to n do begin
    if a[k]>=a[i] then k:=i;
    Memo1.Lines.Append(IntToStr(a[i]));
end; writeln;
Memo1.Lines.Append('poslednij min el-t = '+IntToStr(a[k])+' stoit na '+IntToStr(k)+' meste.');
a[n+1]:=a[1]; a[1]:=a[k]; a[k]:=a[n+1];
Memo1.Lines.Append('massive posle perestanowki '+IntToStr(k)+' i 1 mest el-tov:');
for i:=1 to n do Memo1.Lines.Append(a[i]);
end;

end.
Вопросы есть?

P.S. Не запускал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2013, 18:14   #3
Sladkijj
 
Регистрация: 18.01.2013
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
unit Unit1;

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
a : array[1..100] of byte;
i,n,k : byte;
sum : integer;

begin
Memo1.Lines.Append('input razmernostx n [2..100] : ');
n:=StrToIntDef(Edit1.Text,0);
randomize;
Memo1.Lines.Append('massive:'); sum:=0;
for i:=1 to n do begin
    a[i]:=random(99);
    if a[i]<21 then sum:=sum+a[i];
    Memo1.Lines.Append(IntToStr(a[i]));
end;
Memo1.Lines.Append('Summa ne prew 20 = '+IntToStr(sum));
Memo1.Lines.Append('wwedite nomer el-ta dlq udaleniq k [1..'+IntToStr(n)+'] : ');
k:=StrToIntDef(Edit2.Text,0);
dec(n);
for i:=k to n do a[i]:=a[i+1];
Memo1.Lines.Append('massive posle udaleniq '+IntToStr(k)+' el-ta:');
k:=1;
for i:=1 to n do begin
    if a[k]>=a[i] then k:=i;
    Memo1.Lines.Append(IntToStr(a[i]));
end; writeln;
Memo1.Lines.Append('poslednij min el-t = '+IntToStr(a[k])+' stoit na '+IntToStr(k)+' meste.');
a[n+1]:=a[1]; a[1]:=a[k]; a[k]:=a[n+1];
Memo1.Lines.Append('massive posle perestanowki '+IntToStr(k)+' i 1 mest el-tov:');
for i:=1 to n do Memo1.Lines.Append(a[i]);
end;

end.
Вопросы есть?

P.S. Не запускал.
Вот на последнюю строчку ругается Делфи: for i:=1 to n do Memo1.Lines.Append(a[i]);

P.S. Программка должна без кнопок работать?
Sladkijj вне форума Ответить с цитированием
Старый 20.01.2013, 19:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вот на последнюю строчку ругается Делфи
Приведи значение к строке через IntToStr. И включи моск.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача с массивом. lammy Помощь студентам 2 22.12.2013 22:06
задача с массивом guk_as Помощь студентам 2 16.05.2012 21:22
задача с массивом GoldSieg Паскаль, Turbo Pascal, PascalABC.NET 10 19.10.2011 15:55
Задача с массивом Zalim Фриланс 8 27.09.2011 11:34
задача с массивом bonys91 Помощь студентам 3 26.03.2009 22:11