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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2011, 23:20   #1
hak555
 
Регистрация: 30.09.2011
Сообщений: 4
По умолчанию Поменять местами 2 половины строки // С++

Всем привет.
Visual C++.
Задание: На входе строка. Необходимо разделить её на 2 равные части, и поменять их местами. Например "abcdefghijklmnopq" ->"jklmnopqabcdefghi"

Вот, что я написал:
Код:
#include <stdio.h>
int main()
{
	int i=0,r=0;
	char s[50],k;

	printf("Vvedite stroku: ");
	scanf("%S",&s);
	printf("\n");

	r=strlen(s);
	for (i=0; i=r/2; i++)
		{
			k=s[i];
			s[i]=s[r-i];
			s[r-i]=k;
		}

	printf("Otvet: ",s,"\n");
}
По непонятной мне причине программа не работает.
Буду благодарен любой помощи в исправлении.
hak555 вне форума Ответить с цитированием
Старый 30.09.2011, 23:33   #2
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

не работает или же работает но не правильно?
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 30.09.2011, 23:36   #3
hak555
 
Регистрация: 30.09.2011
Сообщений: 4
По умолчанию

Запускается без ошибок, даёт возможность ввести первоначальную строку, выводит надпись "ответ", однако искомую строку (т.е. с уже переставленными половинками) не выводит.
hak555 вне форума Ответить с цитированием
Старый 30.09.2011, 23:52   #4
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

http://www.codenet.ru/progr/cpp/spru/printf.php
Переделайте
Код:
printf("Otvet: ",s,"\n");
на
Код:
printf("Otvet: %s\n",s);
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 01.10.2011, 00:54   #5
hak555
 
Регистрация: 30.09.2011
Сообщений: 4
По умолчанию

Со всем разобрался, спасибо. Выкладываю итог, может кому пригодится!

Код:
#include <stdio.h>
int main()
{
	int i=0,r=0;
	char s[50],k;

	printf("Vvedite stroku: ");
	scanf("%s",&s);
	printf("\n");

	r=strlen(s)-1;
	for (i=0; i<r/2; i++)
		{
			k=s[i];
			s[i]=s[r-i];
			s[r-i]=k;
		}

	printf("Otvet: %s\n",s);
}

Последний раз редактировалось hak555; 01.10.2011 в 01:08.
hak555 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
строки(поменять местами буквы) sllh_111 Помощь студентам 2 25.11.2010 19:41
Поменять местами 3-ю и 4-ую строки массива танечка155 Помощь студентам 3 23.11.2010 21:52
матрица B(n,n). поменять местами строки bratello41 Паскаль, Turbo Pascal, PascalABC.NET 0 10.06.2010 23:19
Как поменять строки местами? ar. Microsoft Office Word 1 05.09.2008 11:36
Поменять местами две половины массива, сохраняя их порядок. Леди Уинтер Помощь студентам 11 09.01.2008 09:21