3 / 3 / 3
Регистрация: 15.11.2013
Сообщений: 72
1

Дана строка. Последние K её символов переставить в начало строки

02.01.2014, 13:49. Показов 1772. Ответов 7
Метки нет (Все метки)

Вот написал код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 static string ToBegin(string s, int k)
        {
            if (k >= s.Length) return s;
            return s.Substring(k) + s.Substring(0, k);
        }
             static void Main(string[] args)
        {
            Console.WriteLine("Работа со строками");
            Console.Write("Введи стрoку : ");
            string st = Console.ReadLine();
            Console.WriteLine("Строка изменилась : {0}", ToBegin(st, 3));
            Console.WriteLine();
 
        }
Получается берёт 3 символа(К, сколько я написал на вывод) и ставит их в конец всего слова, пример: какжитьто>>>житьтокак, а нужно сделать так что бы было наоборот из конца брало 3 символа и ставило в перёд пример какжитьто>>>ьтокакжить пытался менять вывод вообще не получается, помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2014, 13:49
Ответы с готовыми решениями:

Дана строка. Последние K её символов переставить в начало строки
Извините пожалуйста, что обращаюсь за помощью, но помогите пожалуйста сделать. 1)Дана строка....

Дана строка, состоящая из N попарно различных символов. Вывести все перестановки символов данной строки
Здравствуйте. Дана строка, состоящая из M попарно различных символов. Вывести все перестановки...

Дана строка символов. Дано слово. Удалите из строки это слово
Дана строка символов. Дано слово. Удалите из строки это слово

Дана строка символов, надо разделить ее на группы по n символов
Дана строка символов, разделить ее на группы по N символов. N вводится с клавиатуры.Переставить...

7
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.01.2014, 13:55 2
del
0
6259 / 3560 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
02.01.2014, 13:57 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.Diagnostics;
 
namespace Ghost
{
    public static class StringExtension
    {
        public static string ToBegin(this string s, int count)
        {
            if (s == null)
                throw new ArgumentNullException("s");
 
            if (count > s.Length)
                throw new InvalidOperationException("count greater than string length");
 
            if (count == s.Length)
                return s;
 
            return s.Substring(s.Length - count, count) +
                s.Substring(0, s.Length - count + 1);
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            string s = "какжитьто";
            Debug.Assert("ьтокакжить" == s.ToBegin(3));
        }
    }
}
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.01.2014, 14:04 4
C#
1
2
3
4
5
static string ToEnd(string s, int k)
        {
            if (k >= s.Length) return s;
            return s.Substring(s.Length - k) + s.Remove(k);
        }
0
3 / 3 / 3
Регистрация: 15.11.2013
Сообщений: 72
02.01.2014, 14:05  [ТС] 5
Цитата Сообщение от Psilon Посмотреть сообщение
C#
1
2
3
4
5
static string ToEnd(string s, int k)
        {
            if (k >= s.Length) return s;
            return s.Substring(s.Length - k) + s.Remove(k);
        }
Теряются символы вот какжитьто>>>ьтокак, а должно быть ьтокакжит
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.01.2014, 14:17 6
C#
1
2
3
4
5
6
    static string ToEnd(string s, int k)
        {
            if (k >= s.Length) return s;
            int i = s.Length - k;
            return s.Substring(i) + s.Remove(i);
        }
1
3 / 3 / 3
Регистрация: 15.11.2013
Сообщений: 72
02.01.2014, 14:24  [ТС] 7
Цитата Сообщение от Psilon Посмотреть сообщение
C#
1
2
3
4
5
6
    static string ToEnd(string s, int k)
        {
            if (k >= s.Length) return s;
            int i = s.Length - k;
            return s.Substring(i) + s.Remove(i);
        }
огромное спасибо, всё работает
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.01.2014, 15:05 8
Kortex, на самом деле это можно делать одним методом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
 
public class Test
{
    static string ToBegin(string s, int k)
        {
            if (k >= s.Length) return s;
            return s.Substring(k) + s.Remove(k);
        }
        
    static string ToEnd(string s, int k)
        {
            return ToBegin(s, s.Length - k); 
        }
        
    public static void Main()
    {
        string s = "какжитьто";
        Console.WriteLine(ToBegin(s,3));
        Console.WriteLine(ToEnd(s,3));
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2014, 15:05
Помогаю со студенческими работами здесь

Дана строка S и текстовый файл. Добавить строку S в начало файла
Дана строка S и текстовый файл. Добавить строку S в начало файла.

Дана строка S и текстовый файл. Добавить строку S в начало файла
Дана строка S и текстовый файл. Добавить строку S в начало файла.

Дана строка символов, разделить ее на группы по N символов
Дана строка символов, разделить ее на группы по N символов. N вводится с клавиатуры.Переставить...

Дана строка символов
Дана строка символов. Группы символов, разделенные одним или несколькими пробелами и не содержащие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru