Страница 1 из 1

как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 14:11
nikitoz_ru
нужно записать элементы строки следующим образом:сначала записываем все элементы с четными индексами, а затем все элементы с нечетными индексами ( с сохранением их относительного порядка в каждой группе). Например, abcdefgh => acegbdfh, vwxyz => vxzwy.
за ранее благодарен за любую помощь.

Re: как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 14:21
azrael
это вопрос или просьба решить задачу? :) ))

Re: как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 14:25
nikitoz_ru
azrael писал(а):это вопрос или просьба решить задачу? :) ))
сможешь решить заплачу

Re: как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 14:37
Naeel Maqsudov
Тут можно предложить 2 агоритма:
1)
Сначала в цикле по нечетным, а затем в цикле по четным элементам (шагом 2) s прибавлять к результирующей строке
2)
В цикле по строке "раскидать" все элементы по двум строкам, а потом эти строки сцепить

Re: как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 14:58
azrael
nikitoz_ru писал(а):сможешь решить заплачу
Я спросил потому, что надо точнее задавать вопрос, неясно, что вы хотели :)
А деньги за это брать даж смешно, если все-таки желаете - могу принять символическую сумму :)
Код:

Код: Выделить всё

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {

	cout << "\nLine: ";
	const int lineLength = 256;
	char lineBuffer[lineLength] = "\0";
	cin >> lineBuffer;

	char resultBuffer[lineLength] = "\0";

	int j = 0;
	for (int i = 0; i < lineLength; i+=2) {
		if (lineBuffer[i] != '\0')	
			resultBuffer[j++] = lineBuffer[i];
		else break;
	}
	for (int i = 1; i < lineLength; i+=2) {
		if (lineBuffer[i] != '\0') 
			resultBuffer[j++] = lineBuffer[i];
		else break;
	}

	cout << "\nResult: " << resultBuffer << '\n';
	return 0;
}

Re: как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 14:59
nikitoz_ru
Naeel Maqsudov писал(а):Тут можно предложить 2 агоритма:
1)
Сначала в цикле по нечетным, а затем в цикле по четным элементам (шагом 2) s прибавлять к результирующей строке
2)
В цикле по строке "раскидать" все элементы по двум строкам, а потом эти строки сцепить

это понятно а как из строки выбрать четный элемент скажите хотя бы какую функцию применить?

Re: как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 15:01
Naeel Maqsudov
Иногда, прежде чем написать очередное сообщение полезно еще раз нажать F5. :) Возможно решение уже написали.

Re: как записать элементы строки в определенной последовательности?

Добавлено: 07 июн 2009, 15:04
nikitoz_ru
спасибо помог ;)