C++. Обработка строк при помощи указателей.

Ответить
akafanta
Сообщения: 4
Зарегистрирован: 01 ноя 2009, 18:47

C++. Обработка строк при помощи указателей.
Здравствуйте! Помогите, пожалуйста, решить задачу.
Для ввода строк использовать один и тот же символьный массив tmp[80].Обработку строк производить при помощи указателей внутри выделенного блока памяти. Запрещается использовать дополнительные массивы или блоки.
Создать текстовую функцию main(), которая реализует след. алгоритм:
1. Объявить и ввести переменные.
2. Ввести строку tmp.
3. Выделить блок памяти через указатель.
4. Скопировать строку в выделенный блок
5. Обработать блок по условию.
6. Вывести результаты обработки
7. Освободить блок
Вводить и обрабатывать строки в цикле, пока не введена пустая строка.
Условие обработки строки (п.5):
Перемешивать по k букв. Например:
Было: abcd efgh i
При k = 4 должно получится:
dcba hgfe i
Я совершенно не понимаю, как сделать 5 пункт. Помогите.
Пока накалякала вот что:
Код:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main ()
{
char tmp [80];
char* p;
int z(0);
do
{
cout << "Enter the sentence: " << endl;
cin >> tmp;
z = strlen(tmp);
p= new char[z+1];
strcpy (p, tmp);
for (int i(0);i<z ;)
{

}
cout << p <<endl;
delete [] p;
}while (tmp[0] == 0);
}
И то ни черта не работает.
Шоколадку точно подарю :)
http://vkontakte.ru/id1986125
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Краказяблу, которая не работает, а только комп намертво вешает, я и сам могу написать. 508 байт на асме и никаких гвоздёв. А по твеё задаче конкретные вопросы есть?
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответить