Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
Lepsev
66 / 14 / 1
Регистрация: 16.12.2009
Сообщений: 253
#1

Перестановка в обратном порядке букв - C++

13.04.2011, 20:24. Просмотров 1910. Ответов 6
Метки нет (Все метки)

Дано слово из 15 букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами.
т.е. с (k+1)-й по (s-1)-ю.
Значения k и s вводятся с клавиатуры. (k<S)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2011, 20:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перестановка в обратном порядке букв (C++):

Перестановка строк в обратном порядке - C++
объясните пожалуйста подробно код. #include &lt;iostream.h&gt; #include &lt;conio.h&gt; const int N = 2; const int M = 3; int x = { { 1,...

Перестановка чисел в массиве в обратном порядке. - C++
Прошу помогите!!! Надо решить 2 задачи по С++ !! Срочно!!! 1)написать функцию reverse. Параметр: массив из 100 чисел....

Перестановка элементов каждой строки в обратном порядке - C++
Здравствуйте! Помогите, пожалуйста, написать функцию перестановки элементов каждой строки двумерного массива в обратном порядке. И вывести...

Сделать шаблонную функцию массива перестановка элементов в обратном порядке - C++
Сделать шаблонную функцию массива перестановка элементов в обратном порядке на С++

Сколько букв останется на своих местах в данной строке, ес¬ли ее символы записать в обратном порядке - C++
Сколько букв останется на своих местах в данной строке, ес¬ли ее символы записать в обратном порядке c++ Добавлено через 5 часов 45...

Все слова во введенном предложении переставить в обратном порядке, не меняя порядок букв в словах - C++
Все слова во введенном предложении переставить в обратном порядке, порядок букв в словах не менять. Дописать в конец строки подстроку «Да...

6
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
13.04.2011, 20:45 #2
C++
1
std::reverse (str.begin () + k, str.begin () + s - 1);
или

C++
1
2
3
4
5
6
7
char ch;
for (int i=0, j = str.length () - 1; i < j -1; i++, j--)
{
    ch = str[i];
    str[i] = str[j];
    str[j] = ch;
}
1
Lepsev
66 / 14 / 1
Регистрация: 16.12.2009
Сообщений: 253
24.04.2011, 18:32  [ТС] #3
Цитата Сообщение от neske Посмотреть сообщение
std::reverse (str.begin () + k, str.begin () + s - 1);
При данном варианте вот такая страсть:
Перестановка в обратном порядке букв

Вариант №2 напрочь отказывается работать и выдаёт с десяток ошибок
0
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
24.04.2011, 18:37 #4
Lepsev, это код на вижуал.
1
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
24.04.2011, 19:06 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main()
{
   char str[] = "hello world", c;
   int len = strlen( str ), i;
   for( i=0;i<len / 2;++i )
   {
      c = str[i];
      str[i] = str[len-i-1];
      str[len-i-1] = c;
   } 
   printf( "%s\n", str );
   return 0;
}
2
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,811
24.04.2011, 19:49 #6
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
#include <stdio.h>
#include <string.h>
 
void swap(char * buf, size_t size){
    if ( size > 1 ){
        char ch = *buf;
        *buf = *(buf + size - 1);
        *(buf + size - 1) = ch;
        swap(buf + 1, size - 2);
    }
}
 
int main(void){
    char buf[BUFSIZ];
    int after, to;
    
    while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){
        if ( ! ( printf("After: ") && scanf("%d", &after) == 1 && printf("To: ") && scanf("%d%*c", &to) == 1 
            && after > 0 && to < strlen(buf) + 1 && to - after > 1 ) ){
                fprintf(stderr, "Wrong input!\n");
                continue;
        }
        swap(buf + after, to - after - 1);
        printf("Result: %s\n", buf);
    }
    
    return 0;
}
1
Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
24.04.2011, 19:56 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main()
{setlocale(LC_ALL,"Russian");
char ch,slovo[16]={'Г','А','Л','Ь','В','А','Н','О','Т','Е','Х','Н','И','К','А','\0'};
int i,j,k,s;
cin>>k>>s;
for(i=k,j=s-2;i<s,j>k;i++,j--)
{   ch = slovo[i];
    slovo[i] = slovo[j];
    slovo[j] = ch;
}
cout<<slovo;
 
return 0;
}
1
24.04.2011, 19:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2011, 19:56
Привет! Вот еще темы с ответами:

Определить длину данной строки и количество букв "а" в ней. Вывести имя в обратном порядке - C++
Ввести фамилию, имя и отчество как одно текстовое дано. Определить длину данной строки и количество букв &quot;а&quot; в нем. Решить задачу двумя...

Сортировка массива в порядке возрастания и вывод элементов в обратном порядке - C++
нашла на форуме пару примеров, но они не полные и не запускаются, выбрала из них более менее подходящий, дальше было много вариантов но не...

Перестановка букв в слове - C++
Дано слово . Переставить его первую букву на место последней. Вторую , третью ... последнюю букву сместить влево на одну позицию. ...

Перестановка букв в строке - C++
программа, которая для заданной строки S меняет местами первую букву со второй, вторую с третьей и так далее


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

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

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