как преобразовать sort из c++ в паскаль?
у меня есть код на с++, его нужно в точности сделать таким же на паскале, но не получается отсортировать как в с++ сам код с++
#include<iostream>
#include<algorithm>
#include<cctype>
#include <string>
using namespace std;
int main() {
char text[20] = "yH6&g%1vv/123G%3f*v";
char text2[20];
memcpy(text2, text,sizeof(text));
sort(text2, text2 + sizeof(text2), [](char a, char b) {
return (isdigit(a) && (!isdigit(b)) || isalpha(a) && (!isalnum(b)));
});
cout<< text2<< "\n";
}
код на паскале
type
sizeovf = array[1..4] of char;
var
text: sizeovf := ('a','b','1',']');
text2: sizeovf;
begin
text2 := text; //copy
sort(text2, text2 + sizeof(text2), [](char a, char b));
if (isdigit(a) (!isdigit(b)) || isalpha(a) && (!isalnum(b)))then writeln (text2);//не работает
end.
Ответы (1 шт):
Автор решения: RAlex
→ Ссылка
##
var text := 'yH6&g%1vv/123G%3f*v';
var text2 := (text.MatchValues('\d') + text.MatchValues('[A-z]') +
text.MatchValues('[^A-z0-9]')).JoinToString('');
text2.Println // получится 611233yHgvvGfv&%/%*