![]() |
Ошыбка в коде
Паскаль, условие задачи такое, задан файл чисел его нужно отсортировать от найменьшего к найбольшему. Я сделал так, задается файл чисел но текстовый файл, потом переганяется он в масив и сортируется но проблема в том что масив текстовый и выходи что число 235 меньше 3 так как первый елемент 2 и он меньше 3. Как мне сделать чтоб сравнивало как полностю число? Вот сам код програмы
var f1,f2,f3:text; i,j,n,b:integer; st,a,buf:string; mas:array[1..100] of string; begin assign(f1, '1.txt'); rewrite(f1); writeln('vvedite chisla'); readln(a); writeln(f1, a); close(f1); reset(f1); n:=0; assign(f3, '3.txt'); rewrite(f3); while not eof (f1) do begin readln(f1, st); for i:=1 to length(st) do begin if st[i]<>' ' then begin append(f3); write(f3, st[i]); end else begin n:=n+1; reset(f3); readln(f3, st); mas[n]:=st; rewrite(f3); close(f3); end; end; end; for j:=1 to n-1 do begin if mas[j]>mas[j+1] then begin buf:=mas[j]; mas[j]:=mas[j+1]; mas[j+1]:=buf; end; end; assign(f2, '2.txt'); rewrite(f2); for j:=1 to n do begin append(f2); write(f2, mas[j],' '); end; close(f2); reset(f1); readln(f1, st); writeln('Ischodnaja stroka'); writeln(st); close(f1); reset(f2); readln(f2, st); writeln('Posle sortirivky'); writeln(st); close(f2); readln; end. Если кто не понял то выполняй програму и задавай числа 6 9 77 45 12 33 0 2 получается 0 12 2 33 45 6 77 9 а должно быть 0 2 6 9 12 33 45 77 Как так сделать, подскажыте? |
переводите строки в числа StrtoInt
|
Время: 18:26. |
Время: 18:26.
© OSzone.net 2001-