Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Little user
0 / 0 / 2
Регистрация: 23.05.2018
Сообщений: 10
1

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

06.06.2018, 15:42. Просмотров 340. Ответов 2
Метки нет (Все метки)

Доброго времени суток! Прошу помочь с кодом. Основу написал, но логику перестановки букв не могу додумать сам. Задача: Дано слово. Переставить его s-ю букву на место k-й (s > k). При этом k-ю, (k + 1)-ю, ..., (s – 1)-ю буквы сдвинуть вправо на одну позицию.
Вот мой код.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    setlocale (0, "");
 
    int i, s, k;
    char string [30];
    printf("Введите любое слово\n");
    scanf("%s", string);
    printf("\nВведите номер 1 и 2 перестановочного символа\n");
    scanf("%d %d", &s, &k);
 
    for (i = 0; i < strlen(string); i++)
    {
        ///Что нужно сделать в данном месте?
    }
    return 0;
}
Приму любую критику в адрес кода. Заранее благодарю!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2018, 15:42
Ответы с готовыми решениями:

Перестановка букв в слове и вывод всех возможных перестановок
Написал программу для перестановки букв в слове и выводе всех возможных...

Перестановка букв и цифр в строке
Друзья! Начал изучать Си, но застрял вот на какой задаче: имеется строка...

Циклическая перестановка букв в словах текста
надо составить программу циклической перестановки букв в словах текста так, что...

Посчитать число букв в слове
Пытаюсь посчитать число букв в слове. Компилируется, но выводит неправильный...

Строка: Определять кол-во букв (d, c, k) в слове
Должно определять кол-во букв в слове d c k Подскажите ошибку пожалуйста...

2
Байт
Эксперт C
20038 / 12660 / 2662
Регистрация: 24.12.2010
Сообщений: 26,362
06.06.2018, 16:05 2
Little user, Надо проверить k < s <= strlen(string)
А что касаемо самого кода
C
1
2
3
4
char tmp = string[s];
for (i=s-1; i>=k; i--)
  strind[i+1] = string[i];
string[k] = tmp;
1
Little user
0 / 0 / 2
Регистрация: 23.05.2018
Сообщений: 10
06.06.2018, 16:39  [ТС] 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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    setlocale (0, "");
 
    int i, s, k;
    char string [30];
    printf("Введите любое слово\n");
    scanf("%s", string);
    printf("\nВведите k символ\n");
    scanf("%d", &k);
    printf("\nВведите s символ\n");
    scanf("%d", &s);
 
 
    if (k < s <= strlen(string))
    {
        char tmp = string [s - 1];
        for (i = s - 1; i >= k ; i--)
        {
            string [i] = string [i - 1];
        }
        string [k - 1] = tmp;
    }
    printf("Полученное слово %s", string);
    return 0;
}
Вроде пока нигде не крашился.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2018, 16:39

Подсчитать количество букв о, м, и к в этом слове
Не могу понять, почему не работает. Помогите. Вроде легко, а все равно не...

Подсчитать количество букв k в последнем слове
Добрый вечер! В С я не бум-бум. Задание следующее:Подсчитать количество букв...

Подсчитать число различных букв в слове
Подсчитать число различных букв в слове. Помогите составить программу


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru