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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2014, 19:32   #1
yana1213
Пользователь
 
Регистрация: 14.05.2014
Сообщений: 13
По умолчанию в чем ошибка?

var i, k, temp:integer;
m, n, x:integer; // переменная для коллчиства элементов массива
a1:array of integer; //описываем массив результата работы программы
s: string; //переменная для строки Мемо
begin
if CheckBox3.Checked then
begin
randomize;
if a[i] div 2 then; // серединка
temp:=a1[m]; // запомнили последний
a1[m]:=a[i]; // в последний занесли средний
a1[m]=temp; // в средний занесли последний
s:=s+IntToStr(a1[i])+' ';
memo2.Clear;
memo2.Lines.Add(s);
программа не выводит ничего
yana1213 вне форума Ответить с цитированием
Старый 15.05.2014, 20:12   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

А массив заполнен? И не забудьте, вам надо менять три элемента из середины на три последних.
Уффф, это из серии: "проще сделать, чем объяснить", подождите немного.

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

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

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  a:array of integer;
  s:string;
  temp,m,n,i:integer;
begin
  Memo1.Lines.Clear;
  SetLength(a,11);
  for i:=low(a) to high(a) do
    begin
        a[i]:=i;
    end;
  s:='';
  for i:=low(a) to high(a) do
    begin
       s:=s+IntToStr(a[i])+' ';
    end;
    Memo1.Lines.Add(s);

  m:=High(a) div 2; // серединка
  n:=High(a);


  temp:=a[n];              // запомнили последний
  a[n]:=a[m+1];              // в последний занесли средний+1
  a[m+1]:=temp;             // в средний+1 занесли последний

  temp:=a[n-1];              // запомнили последний-1
  a[n-1]:=a[m];              // в последний занесли средний
  a[m]:=temp;             // в средний занесли последний

  temp:=a[n-2];              // запомнили последний-1
  a[n-2]:=a[m-1];              // в последний занесли средний
  a[m-1]:=temp;             // в средний занесли последний
  s:='';
  for i:=low(a) to high(a) do
    begin
       s:=s+IntToStr(a[i])+' ';
    end;
    Memo1.Lines.Add(s);
end;
end.

Последний раз редактировалось ZX Spectrum-128; 15.05.2014 в 20:47.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чем ошибка? Tolian92 Паскаль, Turbo Pascal, PascalABC.NET 2 27.11.2013 08:50
В чем ошибка? TEED! Работа с сетью в Delphi 2 05.06.2012 13:33
В чем ошибка? olegnaum Общие вопросы C/C++ 7 03.02.2010 12:58
В чем ошибка gheorge1989 Microsoft Office Access 8 27.10.2009 22:45
В чем ошибка... Эдвин Галстук Паскаль, Turbo Pascal, PascalABC.NET 3 25.10.2009 20:01