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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2009, 22:39   #1
Arzamaks
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 17
По умолчанию Упорядочение одномерного массива.

Задача такая простая, но у меня почему то не выходит... проверьте что не так!
Одномерный вещественный массив вводиться с клавиатуры. Нужно упорядочить элементы по возрастанию.
Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const n=10;
var
a: Array [1..n] of real;
buf:real;
i,j:integer;
begin
for i:=1 to n do
a[i]:=strtofloat(Memo1.lines[i-1]);
for i:=1 to n do
for j:= n-1 downto i do
if (a[j+1] < a[j]) then
begin
buf:=a[j]; 
a[j]:=a[j+1]; 
a[j+1]:=buf;
end;
Memo2.Clear;
for i:=1 to n do
Memo2.Lines.Add(floattostr(a[i]));
end;
end.

Последний раз редактировалось mihali4; 23.11.2009 в 23:58.
Arzamaks вне форума Ответить с цитированием
Старый 23.11.2009, 22:45   #2
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Правила тут
dr.Chas вне форума Ответить с цитированием
Старый 23.11.2009, 22:51   #3
Arzamaks
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
Исправил. Извиняюсь!
Arzamaks вне форума Ответить с цитированием
Старый 24.11.2009, 23:29   #4
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Код:
var a: Array [1..5] of real;
    buf:real;
    i, j, n:integer;
begin
  j:=Memo1.Lines.Count;
  for i:=1 to j do
    a[i]:=strtofloat(Memo1.lines[i-1]);

  for i:=1 to j-1 do
    for n:=1 to j-1 do
      if (a[n] > a[n+1]) then
      begin
        buf:=a[n];
        a[n]:=a[n+1];
        a[n+1]:=buf;
      end;


  Memo2.Clear;
  for i:=1 to j do
    Memo2.Lines.Add(floattostr(a[i]));
end;
dr.Chas вне форума Ответить с цитированием
Старый 25.11.2009, 09:46   #5
Arzamaks
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 17
По умолчанию

Спасибо, всё работает!!!
Arzamaks вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка одномерного массива Гамбит Помощь студентам 2 02.11.2009 00:28
Задача одномерного массива на Си++ Клеом Помощь студентам 1 26.09.2009 21:49
Растяжение одномерного массива Dimon.ru Паскаль, Turbo Pascal, PascalABC.NET 0 03.06.2009 19:58
Сжатие одномерного массива Dimon.ru Паскаль, Turbo Pascal, PascalABC.NET 0 03.06.2009 19:52
Упорядочение элементов массива Юлёк PHP 2 28.01.2008 21:27