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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2010, 14:37   #1
Tekkonkinkreet
 
Регистрация: 20.10.2010
Сообщений: 2
По умолчанию

Здравствуйте, помогите плз доделать задание

Необходимо чтоб значения генерировались и выводились по очереди, а затем смещались на 1(первое значение удалялось и +1 в конец) если длина массива=10

Не получается задать нужные условия, пока выводятся сразу все значения, вот что есть на данный момент:
Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids,Math, ExtCtrls;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const
 TIKS=10;
 
var
  Form1: TForm1;
   i:integer;
implementation
 
{$R *.dfm}
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:=1000;
Timer1.Enabled:=false;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
  const TIKS=10;
  var i,j:integer;
  dan,rab:array[1..TIKS] of integer;
a1,a2,s: array[1..TIKS] of string;
 
begin
Randomize;
for i:=1 to TIKS do
begin
rab[i]:=randomrange(0,100);
dan[i]:=randomrange(70,110);
a1[i]:=Inttostr(dan[i]);
a2[i]:=inttostr(rab[i]);
s[i]:=a1[i]+','+a2[i];
 
 StringGrid1.Cells[1,i]:=s[i];
 
end;
 
  end;
end.
все ещё надеюсь на помощь..

Последний раз редактировалось Stilet; 29.10.2010 в 13:45.
Tekkonkinkreet вне форума Ответить с цитированием
Старый 28.10.2010, 18:58   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

в FormCreate создаете массив из 10 элементов. Заполняете его случайными числами.
в Timer1Timer делаете следующее:
1) сдвигаете все элементы массива на одну позицию влево:
for i:=1 to 9 do
A[i]:=A[i+1]
это елси массив из 10 элементов под именем А;
2) генерируете случайное число и записываете его в массив последним:
n:=random(100);
A[10]:=n;

Вроде так
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 29.10.2010, 13:01   #3
Tekkonkinkreet
 
Регистрация: 20.10.2010
Сообщений: 2
По умолчанию

Смещения не происходит, выводит больше 10 значений

Но все равно спасибо за помощь
Tekkonkinkreet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод значений в файл Егорнапример Помощь студентам 1 08.06.2010 22:10
Assembler. Подпрограмма на вывод значений. Alasmus Помощь студентам 4 29.10.2009 22:19
выборка нужных значений, вывод AZaharov Microsoft Office Excel 19 17.10.2008 12:22
таймер и вывод графики Volkogriz Мультимедиа в Delphi 4 08.12.2007 12:11
графический вывод значений массива vitalik007 Помощь студентам 6 21.10.2007 20:34