Другие языки программирования и технологии

Преобразуйте строку так, чтобы сначала в ней шли буквы, но в обратном порядке, а затем цифры в прямом. Напишите кодна С#

Здравствуйте.
А вы пытались сами сделать это задание? А если пытались, то почему не написали свою попытку? А если не пытались, то почему не пытались?
Попробуйте разобраться в этом:

using System;
using System.Collections;

class Cmp: IComparer {
    int IComparer.Compare(Object x, Object y) {
        if (Char.IsDigit((char)x) && Char.IsLetter((char)y)) return 1;
        if (Char.IsLetter((char)x) && Char.IsDigit((char)y)) return -1;
        if (Char.IsLetter((char)x) && Char.IsLetter((char)y)) return (char)y - (char)x;
        return (char)x - (char)y;
    }
}

class Program {
    static void Main(string[] args) {
        Console.Title = "C# custom sort";
        Console.Write("string? ");
        var s = Console.ReadLine();
        var a = s.ToCharArray();
        Array.Sort(a, new Cmp());
        s = new String(a);
        Console.Write("result: " + s);
        Console.ReadKey();
    }
}
Юрий Коломиец
Юрий Коломиец
81 793
Лучший ответ
using System;
using System.Collections.Generic;

static class Program
{
static void Main()
{
var h = Console.ReadLine();
List <char> ff = new List<char>();
List <char> nums = new List<char>();
List <char> letters = new List<char>();
foreach(char i in h)
ff.Add(i);
foreach(char i in ff)
{
if (i>='0' && i <= '9')
nums.Add(i);
else
letters.Add(i);
}
nums.Sort();
letters.Sort();
letters.Reverse();
foreach(char i in letters)
Console.Write(i);
foreach(char i in nums)
Console.Write(i);
Console.ReadKey();
}
}
ссори, ra)
foreach(char i in h)
ff.Add(i);
уникально, ты хоть сам понял зачем это сделал?
V.i.p.*don Jenka ну так то да, если ты это мне

Похожие вопросы