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

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

Войти
Регистрация
Восстановить пароль
 
Alekscs
Сообщений: n/a
#1

Работа со строками, проблема окружить символ пунктуции - C++

11.12.2008, 20:49. Просмотров 584. Ответов 0
Метки нет (Все метки)

Задание
***
Для ввода всех строк исп-ть один и тот же симв-ый массив tmp[80]
Обработку строк производить при помощи указателей внутри выделенного блока памяти. Запрещается исп-ть дополнительные массивы и блоки.
Условия ввода строк: Вводить и обрабатывать строки в цикле (while,for,do while) до тех пор пока длина строки больше 7
Условие обработки строк: Удалить строчные буквы. Знаки пунктуации окружить символами '!'
***
Программка работает с буквами нормик, но проблема со знаками препинания. НЕЛЬЗЯ исп-ть доп. массивы и блоки...Без доп массива не могу придумать, как окружить символ знаками...
Вот мой текстик... Буду благодарен за идею реализации этого пустяка внутри выделенного блока памяти
Заранее спасибо!

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
char tmp [80];
int len;
char * pTmp;
do
{
cout << "Enter string ->"<< endl;
cin.getline (tmp, 80);
len=strlen (tmp);
int l=0, k=0;

while (tmp[l])
{
if (ispunct (tmp[l]))
{
k++;
}
l++;
}

pTmp= new char [strlen(tmp)+(2*k)+1];
strcpy (pTmp, tmp);
int j,i;

cout<< "dlina stroki->"<<len<< endl;

for (j=0,i=0; pTmp[i];i++)
if (!(pTmp[i]>='a'&&pTmp[i]<='z'))
pTmp[j++]=pTmp[i];
pTmp[j]='\0';

cout<<pTmp<<endl;


//Вот здесь начинаются траблы, нет идей, чтобы нормально работало, плиз подскажите
const char znak='!';
i=0;
j=0;
int r=0, lenn;
while(i<len)
{
if (ispunct (pTmp[i]))
{
if (pTmp[i]!=znak)
{
lenn=strlen (pTmp);
for (j=(len+2+1); j<i-2;j--)
{
pTmp[j]=pTmp[j-2];
}
pTmp[i]=znak;
pTmp[i+3]=znak;
i++;
}
}

i++;
}
cout<< "Output string"<<endl;
cout<<pTmp<<endl;
}
while (len>7);
return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2008, 20:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа со строками, проблема окружить символ пунктуции (C++):

Работа со строками. Как удалить символ с строки - C++
Здраствуйте помогите пожалуйста. не знаю как удалать символы с строки знаю что с помощью ERASE но не знаю как помогите пожалуйста!

Проблема со строками - C++
Добрый день. Нужна Ваша помощь в решении проблемы с задачкой по строкам. Ато сиджу несколько дней и догнать немогу С Клавиатуры вводим...

Проблема со строками - C++
Доброго всем времени суток. Помогите пожалуйста решить несложную задачку. Суть такова. Я пытаюсь написать прогу, которая бы создавала...

Лишний символ при работе со строками - C++
(объясните, пожалуйста откуда он берется и как от него избавиться) код: #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; ...

Задачка со строками(Требуется вставить символ между всеми парами соседних символов в строке) - C++
Здравствуйте! Есть такая задачка:Файл состоит из записей вида &quot;s пробел c&quot;, где s -строка, а с - символ. Требуется вставить с между всеми...

Программа со строками. Определить длинну введенной строки L и если длина L кратна 3 удалит каждый третий символ - C++
Люди помогите нечего не понимаю нужна программа что бы могла вывести с клавиатуры строку символ.Признак окончания строки-нажатие ввод....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2008, 20:49
Привет! Вот еще темы с ответами:

Работа со строками, заполнить компоненты строками из файла - Delphi
Привет! Нужна помощь в заполнении формы В общем, есть форма отправки письма. У нее есть 2 функции, сохранить письмо и открыть письмо (на...

Работа со строками(операции над строками) - C#
Пусть дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами...

Окружить положительные элементы массива числом -1 - C#
Добрый вечер. У меня есть двумерный массив, вроде этого { 0, 0, 0, 0, 0, 0, 0 }, ...

и опять директива {$H+}...проблема с длинными строками - Pascal
задача код программы моей в общем, кажется у меня опять проблема с длинными строками.. программа свалилась с 11 теста...


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

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

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