Т2. Задачи на работу с символами строки

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Решены задачи 1-16, 19-23. Не решены: 17, 18, 24-28.

Задачи

Т2.1. Дано слово. Вывести на экран его третий символ.
Т2.2. Дано слово. Вывести на экран его последний символ.
Т2.3. Дано слово. Вывести на экран его k-й символ.
Т2.4. Дано слово. Определить, одинаковы ли второй и четвертый символы в нем.
Т2.5. Дано слово. Верно ли, что оно начинается и оканчивается на одну и ту же букву?
Т2.6. Даны два слова. Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово?
Т2.7. Дано слово. Получить и вывести на экран буквосочетание, состоящее из его второго и четвертого символа.
Т2.8. Дано слово. Получить и вывести на экран буквосочетание, состоящее из его третьего и последнего символа.
Т2.9. Дано слово. Получить его часть, образованную второй, третьей и четвертой буквами.
Т2.10. Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину, не используя оператор цикла.
Т2.11. Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с m-й и кончая n-й.
Т2.12. Из слова яблоко путем «вырезок» и «склеек» его букв получить слова блок и око.
Т2.13. Из слова информатика путем «вырезок» и «склеек» его букв получить слова форма и тик.
Т2.14. Из слова вертикаль путем «вырезок» и «склеек» его букв получить слова тир и ветка.
Т2.15. Из слова программа путем «вырезок» и «склеек» его букв получить слова ром и рампа.
Т2.16. Из слова трос путем «вырезок» и «склеек» его букв получить слова сорт, рост и торс.
Т2.17. Из слова клоун путем «вырезок» и «склеек» его букв получить слова уклон, кулон и колун.
Т2.18. Из слова апельсин путем «вырезок» и «склеек» его букв получить слово спаниель.
Т2.19. Из слова вирус путем замены его букв получить слово фокус.
Т2.20. Из слова курсор путем замены его букв получить слово танцор.
Т2.21. Из слова пробел путем замены его букв получить слово продел.
Т2.22. Из слова строка путем замены его букв получить слово строфа.
Т2.23. Из слова муха путем замены его букв получить слово слон.
Т2.24. Из слова тетрадь путем замены его букв получить слово дневник.
Т2.25. Дано слово из четного числа букв. Поменять местами его половины. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.
Т2.26. Дано слово из 12 букв. Поменять местами его трети следующим образом:
а) первую треть слова разместить на месте третьей, вторую треть — на месте первой, третью треть — на месте второй;
б) первую треть слова разместить на месте второй, вторую треть — на месте третьей, третью треть — на месте первой.
Т2.27. Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.
Т2.28. Дано слово. Перенести первые k его букв в конец. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
21 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

T2.25

            string word = Console.ReadLine();
            
            //с циклом


            int lh = word.Length/2;
            char[] fhalf = new char[lh];
            char[] shalf = new char[lh];
            for(int i = 0; i<lh; i++)
            {
                fhalf[i] = word[i];
                shalf[i] = word[i+lh];
            }
            Console.WriteLine(new string(shalf)+new string(fhalf));


            //без цикла
            
            string half1 = word.Substring(lh);
            string half2 = word.Substring(0, lh);
            Console.WriteLine(half1 + half2);
Последний раз редактировалось 1 год назад antoher max ем

Т2.28. Дано слово. Перенести первые k его букв в конец. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.

 //A
            Console.WriteLine("Введите слово: ");
            string word = Console.ReadLine();
            Console.WriteLine("Введите количество букв: ");
            int k = int.Parse(Console.ReadLine());


            string wrd = word.Substring(k) + word.Remove(k);
            Console.WriteLine("Полученное слово: " + wrd);


            //B
            char[] array = word.ToCharArray();
            string right = string.Empty;
            string left = string.Empty;
            for(int i=0; i<array.Length; i++)
            {
                if(i<k)
                {
                    right += array[i];
                }
                else
                {
                    left += array[i];
                }
            }
            Console.WriteLine(left + right);

Т2.17

Console.WriteLine("Слово Клоун");
      string word = "клоун"; // уклон, кулон, колун

      string word1 = word.Remove(0, 1); // лоун
      string word2 = word1.Remove(0, 1); // оун
      string word3 = word2.Remove(0, 1); // ун                  

      string letterK = word.Remove(1); // к
      string letterL = word1.Remove(1); // л
      string letterO = word2.Remove(1); // о
      string letterU = word3.Remove(1); // у
      string letterN = word.Remove(0, 4); // н

      string result1 = string.Concat(letterU, letterK, letterL, letterO, letterN);
      string result2 = string.Concat(letterK, letterU, letterL, letterO, letterN);
      string result3 = string.Concat(letterK, letterO, letterL, letterU, letterN);

      Console.WriteLine(string.Join(" ", result1, result2, result3));

      Console.ReadKey();
Последний раз редактировалось 2 лет назад Автор ем

Александр, все верно. Вы молодец. Много написали. Попробуйте упростить при помощи использования word[i]/word.Substring() и уменьшения числа промежуточных переменных.

Важно: Вы можете поддержать проект и автора.

Т2.25. Дано слово из четного числа букв. Поменять местами его половины. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.

string tur = "электрозавод";
char[] arr = tur.ToCharArray();
// а)
string backward = string.Join("",arr[6],arr[7],arr[8],arr[9],arr[10],arr[11],arr[0],arr[1],arr[2],arr[3],arr[4],arr[5]);
Console.WriteLine(backward);
//б)
string first = "", last = "";            
for (int i = 0; i < arr.Length/2; i++)           
    first += arr[i];            
for (int i = 6; i < arr.Length; i++)            
   last += arr[i];            
Console.WriteLine(last+first);

Т2.26. Дано слово из 12 букв. Поменять местами его трети следующим образом:
а) первую треть слова разместить на месте третьей, вторую треть — на месте первой, третью треть — на месте второй;
б) первую треть слова разместить на месте второй, вторую треть — на месте третьей, третью треть — на месте первой.

string fr = "", sc = "", th = "";
for (int i = 0; i <= 3; i++)
    fr += arr[i];
for (int i = 4; i <= 8; i++)
    sc += arr[i];
for (int i = 9; i <= 11; i++)
    th += arr[i];
// a)
Console.WriteLine(sc+th+fr);
// б)
Console.WriteLine(th+fr+sc);

Т2.27. Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.

Console.WriteLine(string.Join("", arr[9], arr[10], arr[11], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8], arr[0], arr[1], arr[2]));
// б)
string fr = "", sc = "", th = "";
for (int i = 0; i <= 2; i++)
   fr += arr[i];
for (int i = 3; i <= 8; i++)
   sc += arr[i];
for (int i = 9; i <= 11; i++)
   th += arr[i];
Console.WriteLine(th+sc+fr);

Т2.28. Дано слово. Перенести первые k его букв в конец. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.

 // а)
Console.WriteLine("Введите число букв от начала строки");
int num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(tur.Remove(0, num)+ tur.Substring(0, num));            
// б)
string fr = "", ls = "";
for (int i = 0; i < arr.Length; i++)
{
   if (i < num)
      fr += arr[i];
   else
      ls += arr[i];
}
Console.WriteLine(ls+fr);
Важно: Вы можете поддержать проект и автора.

Небольшие поправки в 26 задаче
string tur = «электрозавод»;
char[] arr = tur.ToCharArray();
int n1 = arr.Length / 3, n2 = arr.Length / 3 * 2;
string fr = «», sc = «», th = «»;
for (int i = 0; i < n1; i++)
fr += arr[i];
for (int i = n1; i < n2; i++)
sc += arr[i];
for (int i = n2; i < arr.Length; i++)
th += arr[i];
// a)
Console.WriteLine(sc + th + fr);
// б)
Console.WriteLine(th + fr + sc);

Здравствуйте!
Т2.25. Дано слово из четного числа букв. Поменять местами его половины. Задачу решить двумя способами:
1) без использования оператора цикла;
2) с использованием оператора цикла.
Решение:

string text = "abcdef";
//1) без использования оператора цикла
string t1 = text.Remove(text.Length / 2);
string t2 = text.Substring(text.Length / 2, text.Length / 2);
string text2 = t2 + t1;
Console.WriteLine(text2);
//2) с использованием оператора цикла
for (int i = 0; i < text.Length / 2; i++)
{
    char k = text[i];
    text = text.Remove(i, 1).Insert(i, Convert.ToString(text[i + text.Length / 2]));
    text = text.Remove(i + text.Length / 2, 1).Insert(i + text.Length / 2, Convert.ToString(k));
}
Console.WriteLine(text);

Синтаксис подобный этому:

text.Remove(i, 1).Insert(i, Convert.ToString(text[i + text.Length / 2])) 

я нашла в интернете. Могли бы вы написать где можно подробнее почитать об этом, как и когда можно использовать такой последовательный вызов методов?

Важно: Вы можете поддержать проект и автора.

2) или так

string? name = «Москва»;
for (var j = name.Length / 2; j < name.Length; j++)
  Console.Write(name[j]);
for (var i = 0; i < name.Length / 2; i++)
  Console.Write(name[i]);

Т2.19-23. Из слова1 путем замены его букв получить слово2:

// 2.19
string str1 = "вирус";
str1 = str1.Replace("вир", "фок");
Console.WriteLine(str1);
// 2.20
string str2 = "курсор";
str2 = str2.Replace("курс", "танц");
Console.WriteLine(str2);
// 2.21
string str3 = "пробел";
str3 = str3.Replace('б', 'д');
Console.WriteLine(str3);
// 2.22
string str4 = "строка";
str4 = str4.Replace('к', 'ф');
Console.WriteLine(str4);
// 2.23
string str5 = "Это - муха";
str5 = str5.Replace("муха", "слон");
Console.WriteLine(str5);
Важно: Вы можете поддержать проект и автора.

T2.16. Из слова трос путем «вырезок» и «склеек» его букв получить слова сорт, рост и торс.

string a = "трос";
string т = a.Substring(0, 1);
string р = a.Substring(1, 1);
string о = a.Substring(2, 1);
string с = a.Substring(3, 1);
string сорт = String.Concat(с, о, р, т);
string рост = String.Concat(р, о, с, т);
string торс = String.Concat(т, о, р, с);
Console.WriteLine(String.Join(' ', сорт, рост, торс));
Важно: Вы можете поддержать проект и автора.

Так и быть, оставлю)

T2.12. Из слова яблоко путем «вырезок» и «склеек» его букв получить слова блок и око.

string a = "яблоко";
string b = a.Remove(0, 1);
b = b.Remove(4, 1);
string c = a.Remove(0, 3);
Console.WriteLine(String.Join(' ', b, c));

T2.13. Из слова информатика путем «вырезок» и «склеек» его букв получить слова форма и тик.

a = "информатика";
b = a.Remove(0, 2);
b = b.Remove(5);
c = a.Remove(0, 7);
c = c.Remove(3);
Console.WriteLine(String.Join(' ', b, c));

T2.14. Из слова вертикаль путем «вырезок» и «склеек» его букв получить слова тир и ветка.

a = "вертикаль";
b = a.Remove(0, 3);
b = b.Remove(2);
c = a.Remove(0, 2);
c = c.Remove(1);
b = String.Concat(b, c);
string d = a.Remove(2, 1);
d = d.Remove(3, 1);
d = d.Remove(5);
Console.WriteLine(String.Join(' ', b, d));

T2.15. Из слова программа путем «вырезок» и «склеек» его букв получить слова ром и рампа.

a = "программа";
b = a.Remove(0, 1);
b = b.Remove(2, 3);
b = b.Remove(3);
c = a.Remove(0, 1);
c = c.Remove(1, 3);
c = c.Remove(3, 1);
c = c.Insert(3, Convert.ToString(a[0]));
Console.WriteLine(String.Join(' ', b, c));
Важно: Вы можете поддержать проект и автора.

Т2.7.

string a = "кОсТь";
string b = a.Substring(1, 1);
string c = a.Substring(3, 1);
Console.WriteLine(String.Concat(b, c));

Т2.8.

a = "Родина";
b = a.Substring(2, 1);
c = a.Substring(a.Length - 1, 1);
Console.WriteLine(String.Concat(b, c));

Т2.9.

a = "КРУЖОК";
b = a.Substring(1, 3);
Console.WriteLine(b);

Т2.10.

a = "ПРИКОЛ";
b = a.Substring(0, a.Length / 2);
Console.WriteLine(b);

Т2.11.

a = "АТИПИЧНАЯ ПНЕВМОНИЯ";
int m = 1, n = 9;
b = a.Substring(m, n - m + 1);
c = a.Substring(m - 1, n - m + 1);
Console.WriteLine("Если считать символы с нуля: " + b);
Console.WriteLine("Если считать символы с единицы: " + c);
Важно: Вы можете поддержать проект и автора.

Т2.1.

string a = "кнЯзь";
Console.WriteLine(a[2]);

Т2.2.

a = "акваториЯ";
Console.WriteLine(a[a.Length - 1]);

Т2.3.

a = "ПАЛИНДРОМ";
Console.WriteLine("Введите любое целое число от 1 до 9");
int k = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(a[k - 1]);

Т2.4.

a = "пАпАйя";
if (string.Compare(a, 1, a, 3, 1) == 0)
   Console.WriteLine("Второй и четвертый символы одинаковые");
else
   Console.WriteLine("Второй и четвертый символы разные");

Т2.5.

a = "ШалаШ";
if (string.Compare(a, 0, a, a.Length - 1, 1) == 0)
   Console.WriteLine("Слово начинается и оканчивается на одну и ту же букву");
else
   Console.WriteLine("Слово начинается и оканчивается на разные буквы");

Т2.6.

a = "Ялта";
string b = "АлександриЯ";
if (string.Compare(a, 0, b, b.Length - 1, 1) == 0)
   Console.WriteLine("Первое слово начинается на ту же букву, на которую заканчивается второе слово");
else
   Console.WriteLine("Первое слово начинается не на ту же букву, на которую заканчивается второе слово");
Важно: Вы можете поддержать проект и автора.
21
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x