Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Сортировка данных


Автор: insidex 22.9.2007, 15:02
Приветствую, дан массив Ar(5x30) подскажите, как организовать сортировку данных по второму полю (число),

Код

Ar[1]: text1 12332 text
Ar[2]: text2 12443 text
...
Ar[5]: text5 7734 text



Проблема в том, что я не понимаю как в Паскале ВЫДЕЛИТЬ число(в перменную типа REAL) из массива символов , в СИ бы просто через указатель, а здесь.. smile 

Автор: volvo877 22.9.2007, 16:14
Код

function get_number(s: string): real;
var
  _result: real;
  error: integer;
begin
  delete(s, 1, pos(' ', s));
  val(copy(s, 1, pos(' ', s) - 1), _result, error);
  get_number := _result;
end;

const
  n = 5;
  ar: array[1 .. n] of string[30] = (
    'text1 12332 text',
    'text2 12443 text',
    'text3 17848 text',
    'text4 17445 text',
    'text5 7734 text'
  );


var i: integer;
begin
  for i := 1 to n do begin
    writeln('i = ', i:2, '|', get_number(ar[i]):10:3);
  end;
end.

Дальше справишься?

Автор: insidex 22.9.2007, 17:19
Ох!!! Большущее спасибо  smile .... на Паскаль с .Net/Java так тяжело спускаться 

зы. целый день сегодня со строками пропарился  smile  smile  smile , еще раз спасибо http://www.master-x.com/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)