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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2008, 22:34   #1
sting
Форумчанин
 
Аватар для sting
 
Регистрация: 03.07.2008
Сообщений: 114
По умолчанию Ошибка в коде Сортировщика! Ргается! помогите исправить!

Делал по книжки сортировщик:

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    RadioGroup1: TRadioGroup;
    Button2: TButton;
    Label3: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  N,I:Integer;
  M: array of integer; {Описание динамического массива целых чисел}

implementation

{$R *.dfm}


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) then Key:=#0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
N:=StrToInt(Edit1.Text);     {Число элементов массива}
SetLength(M,N);{Задать динамическому масиву М длину N}
Edit2.Text:='';
for I:=0 to N-1 do   {Заполнить массив случайными числами}
 Begin
 M[I]:=Round (Sin(Random(100))*100);
   {присвоить элементу массива случайное значение}
   Edit2.Text:=Edit2.Text+'  '+IntToStr(M[I]);
       {вывести элементы массива}
       end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
J, Tmp: integer;
begin

Edit3.Text:= ' ';
for I:= 0 to N - 2 do {изменять размер неотсортированной части массива} 
for J:=I+1 to N-1 do {сравниваем поочередно I-й элемент неотсортированной части массива со всеми от I+1-го до конца}
begin	{выбор операции в зависимости от значения свойства RadioGroup1.ItemIndex} 
if (RadioGroup1.ItemIndex=0) and (M[I]<M[J])
or (RadioGroup1.ItemIndex=1) and (M[I]>M[J]) then
{если в неотсортированной части массива нашли J-й элемент, больший чем I-й (для сортировки по невозрастанию) или меньший чем 1-й(для сортировки по неубыванию)}
begin	{обменять местами элементы массива}
Тmp:= М[I];    {запомнить на время значение М[I]}
M[I]:= M[J];
M[J]:= Tmp;
end;
end; 
for I:=0 to N-l do        {вывести отсортированный массив}
Edit3.Text:=Edit3.Text+'  '+IntToStr(M[I]); 


end.
он мне ругаеться на вот эту строчку

Код:
Тmp:= М[I];


Цитата:
[Error] Unit1.pas(73): Illegal character in input file: 'Т' ($D2)

памагите плиз!

спасибо
Люди гибнут за МЕТАЛ!!!
sting вне форума Ответить с цитированием
Старый 24.11.2008, 23:17   #2
sting
Форумчанин
 
Аватар для sting
 
Регистрация: 03.07.2008
Сообщений: 114
По умолчанию

пасибо всё помогли!

там М не анг была а русская!

Люди гибнут за МЕТАЛ!!!
sting вне форума Ответить с цитированием
Старый 24.11.2008, 23:21   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Я так думаю - такое возможно только в том случае, если на Button2 кликнуть, не проинициализировав массив M[i] путем Button1Click...
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка C2248. Помогите исправить Ascor Общие вопросы C/C++ 2 03.06.2008 00:56
Видимо ошибка в функции(помогите исправить) GAGARIN-NEW Общие вопросы Delphi 18 07.05.2008 12:30
Помогите исправить ошибку в коде... prizrak1390 Общие вопросы Delphi 4 26.04.2008 13:19
Ошибка в коде nikleb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.03.2008 22:48
Где ошибка в коде? Македонский Общие вопросы Delphi 16 10.09.2007 15:45