Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2010, 20:49   #1
Brabus
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 81
По умолчанию Перестановка букв в строке на си

Добрый вечер уважаемые форумчане. Задали сделать такую задачу: реализуйте следующее преобразование символьной строки abcdefgh -> cdabghef. То есть нужно поменять две буквы с двумя, стоящими рядом. Никак не могу сделать алгоритм, который выполнит эти преобразования. Помогите пожалуйста.
Brabus вне форума Ответить с цитированием
Старый 08.11.2010, 21:12   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

ну, покажи алгоритм
Код:
char c;
c=text[i];
text[i]=text[i+1];
text[i+1]=c;
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось kaljan775; 08.11.2010 в 21:14.
kaljan775 вне форума Ответить с цитированием
Старый 08.11.2010, 21:13   #3
Brabus
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 81
По умолчанию

Цитата:
Никак не могу сделать алгоритм
В том то всё и дело
Brabus вне форума Ответить с цитированием
Старый 08.11.2010, 21:23   #4
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

ну, тогда вот так, если символный массив типа string, замени strlen(text); на text.length(); (если не ошибаюсь, я назубок не помню )
Код:
#include <iostream.h>
#include <string.h>

int main()
{
char text[100]={"abcdefgh"};

cout<<text<<endl;
char c[2];
for (int i=0;i<strlen(text)-4;i+=4)
{
	c[0]=text[i];
	c[1]=text[i+1];
	text[i]=text[i+2];
	text[i+1]=text[i+3];
	text[i+2]=c[0];
	text[i+3]=c[1];
}

cout<<text<<endl;

return 0;
}
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось kaljan775; 08.11.2010 в 22:59.
kaljan775 вне форума Ответить с цитированием
Старый 08.11.2010, 21:31   #5
Brabus
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 81
По умолчанию

kaljan775, из строки abcdefgh у меня выводит только букву с
Brabus вне форума Ответить с цитированием
Старый 08.11.2010, 21:40   #6
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

хмм, странно,чуть изменил код, попробуй еще раз
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось kaljan775; 08.11.2010 в 21:49.
kaljan775 вне форума Ответить с цитированием
Старый 08.11.2010, 21:49   #7
Brabus
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 81
По умолчанию

kaljan775, всё работает Спасибо Вам огромное!
Brabus вне форума Ответить с цитированием
Старый 08.11.2010, 22:58   #8
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

только учитывайте что если вы введете количество букв не кратное 4, то '\0' символ укоротит вашу строку :D
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перестановка букв в строке Андрей.12 Помощь студентам 0 15.12.2009 15:52
поиск латинских гласных букв в строке KoFeMaN Помощь студентам 7 12.12.2009 17:24
Перестановка в строке первого и последнего слова.. mihail0608 Общие вопросы C/C++ 16 08.12.2009 16:25
какая из букв встречается в данной строке чаще StudeHt Помощь студентам 8 12.04.2009 00:28
кол-во букв в строке символов (Си) Newman Помощь студентам 1 04.12.2007 02:19