Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/40: Рейтинг темы: голосов - 40, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 4

Перестановка букв в строке

15.12.2015, 20:03. Показов 7386. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень нужно разработать программу в консольном приложении для заданной строки s, которая меняет местами первую букву со второй, третью с четвертой и т.д.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.12.2015, 20:03
Ответы с готовыми решениями:

Перестановка букв в строке
Условие: Меняет местами первую букву со второй, третью с четвертой и т.д. C#

Перестановка букв в слове
Дано ошибочно написанное слово "итернетн" путем перемещения его букв получить слово "интернет"

Перестановка букв в слове
Как можно решать эти задачи? Дано слово. Переставить его первую букву на место последней. При этом вторую, третью, ..., последнюю...

10
60 / 60 / 54
Регистрация: 19.02.2012
Сообщений: 262
15.12.2015, 20:12
как-то так:
C#
1
2
3
4
5
6
7
8
9
string s = "123456789";
            StringBuilder str = new StringBuilder();
            for (int i = 0; i < s.Length - 1; i += 2)
            {
                str.Append(s[i + 1]);
                str.Append(s[i]);
            }
 
            Console.ReadLine();
1
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
15.12.2015, 20:19
Elizzaa,
C#
1
2
3
4
5
6
7
8
9
10
 var st = "hello".ToCharArray();
        for (int i = 0; i+2 < st.Length; i+=2)
        {
            char a = st[i];
            char b = st[i + 1];
            st[i] = b;
            st[i + 1] = a;
        }
        Console.WriteLine(new string(st));
        Console.ReadKey();
0
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 4
15.12.2015, 20:23  [ТС]
Я совсем еще плохо разбираюсь в с#, но ведь программа как мне кажется должна начинаться с Console.WriteLine("Введите строку: "); а далее то как связать алгоритм
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
15.12.2015, 20:26
Elizzaa, вы совершенно правы, понапишут тут всякие...
1
880 / 559 / 291
Регистрация: 21.11.2012
Сообщений: 1,553
15.12.2015, 21:00
Рядовой,

Не по теме:


гыы..

C#
1
2
3
4
5
Console.WriteLine("Введите строку: ");
var s = Consol.Readline();
Console.WriteLine("измените в введенной строке порядок букв и введите ее: ");
s = Consol.Readline();
Console.WriteLine("измененная строка:\n" + s);

0
16 / 16 / 24
Регистрация: 16.10.2015
Сообщений: 42
15.12.2015, 21:26
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
string[] s = { "a", "b", "c", "d", "e", "f", "g"};
            for (int i = 0; i < s.Length; i++)
                Console.Write(s[i]);
            try { 
            for (int i =0; i<s.Length; i=i+2)
            {
                string a = s[i];
                s[i] = s[i + 1];
                s[i + 1] = a;  
            }
            
            }
            catch
            {
 
            }
            Console.WriteLine();
            for (int i = 0; i < s.Length; i++)
                Console.Write(s[i]);
            Console.ReadKey();
0
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 4
15.12.2015, 22:29  [ТС]
Нужно строку непосредственно вводить в готовом приложении, а не указывать в коде!(

Добавлено через 32 минуты
Console.WriteLine("Введите строку: ");
var st = Console.ReadLine().ToCharArray();
for (int i = 0; i + 2 < st.Length; i += 2)
{
char a = st[i];
char b = st[i + 1];
st[i] = b;
st[i + 1] = a;
}
Console.WriteLine(new string(st));
Console.ReadKey();
Попробовала сделать так, но почему то пробелы тоже за буквы принимает и меняет их с буквами. Что делать?((((((
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
15.12.2015, 22:40
Elizzaa, ну вот, смогла же сама прикрутить Console.Writline, а пробелы в строке удаляй сразу, так:
C#
1
char[] st = Console.ReadLine().Replace(" ", "").ToCharArray();
и варом не пользуйся
2
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
15.12.2015, 22:55
Лучший ответ Сообщение было отмечено Elizzaa как решение

Решение

Цитата Сообщение от Elizzaa Посмотреть сообщение
Что делать?((((((
Когда получаем 2 символа, вариантов 2^2 то есть 4.
Смотри условия, но можно сократить код. И цикл слегка преобразовал.

Кликните здесь для просмотра всего текста
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку: ");
            var st = Console.ReadLine().ToCharArray();
            
            for (int i = 0;;) //убрал продолжение цикла, тк будет по разному
            {
                if ((i+1) >= st.Length) break; //сами контролируем
                
                char a = st[i];
                char b = st[i + 1];
                
                if (char.IsLetterOrDigit(a) && char.IsLetterOrDigit(b)) {
 
                    st[i] = b;
                    st[i + 1] = a;
                    i += 2;
                    continue;
                } //если оба норм - обмен
 
                if (!char.IsLetterOrDigit(a) && char.IsLetterOrDigit(b)) //если первый - рожей не вышел, а следующий норм, тогда счетчик должен на 1 увеличиться
                {
                    i++;
                    continue;
                }
 
                if (char.IsLetterOrDigit(a) && !char.IsLetterOrDigit(b)) //если первый - рожей вышел, а следующий нет, тогда счетчик должен на 2 увеличиться
                {
                    i += 2;
                    continue;
                }
 
                if (!char.IsLetterOrDigit(a) && !char.IsLetterOrDigit(b)) //если оба уроды - на 2
                {
                    i += 2;
                    continue;
                }
 
            }
 
            Console.WriteLine(new string (st));
            Console.ReadKey();
        }
    }
}
2
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 4
15.12.2015, 23:01  [ТС]
Ааа блин, тогда переделанную строку он сливает в одно слово без пробелов.. так и должно быть?

Добавлено через 5 минут
Woldemar89, спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2015, 23:01
Помогаю со студенческими работами здесь

Перестановка символов в строке
Разбор Делаем цикл k:=от i до (i+j)div 2 и меняем местами s и s элемент. 1. Дана строка S, в которой выделили подстроку, состоящую...

Перестановка чисел в строке
Есть строка, в ней нужно числа, стоящие между наибольшим и наименьшим числом, переставить в обратном порядке.

Перестановка символов в строке
Необходимо, &quot;зашифровать&quot; слово &quot;Синтаксис&quot; так чтобы получилось &quot;нтсисиакс&quot;, использовать ConsoleApp (Консольное...

Посчитать количество гласных букв, согласных букв, цифр и знаков препинания в строке
С клавиатуры введена строка на кирилице. Посчитать количество гласных букв, согласных букв, цифр и знаков препинания в строке. Если...

Подсчитывает количество букв в строке
подсчитывает количество букв в строке


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru