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

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

Войти
Регистрация
Восстановить пароль
 
linberg
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 24
#1

обработка строки - C++

08.12.2013, 14:54. Просмотров 259. Ответов 2
Метки нет (Все метки)

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


Задание : для ввода всех строк использовать один и тот же символьный массив tmp [ 80 ].
обработку строк производить при помощи указателей внутри выделенного блока памяти. запрещается использовать дополнительные массивы и блоки.
создать тестовую функцию main () , которая реализует алгоритм :
1.объявить и ввести переменные
2. ввести строку tmp
3. выделение блока памяти через указатель.
4. скопировать строку в выделенный блок
5. обработать блок по условию
6. вывести результаты обработки
7.освободить блок

Условия ввода строк : вводить и обрабатывать строки, до тех пор пока последний символ не цифра.

Условия обработки строки :
1. вычислить в строке количество букв
2. рядом с каждой буквой записать заданное пользователем такое же кол-во букв.


я вроде начала пытаться, вот что написала, мучаюсь уже месяц ( обхохочешься просто), очень надеюсь что поможете )

#include "work_4.h "
using namespace std;
int main()
{
char* pTmp;
char tmp [80];
char* p ;
do
{
cout << " Enter string " << endl ;
cin.getline (tmp,80);
pTmp = new char [strlen(tmp)+1];
strcpy_s (pTmp, strlen(tmp)+1,tmp );
cout << endl;
cout << amountCharacters(tmp) << " characters per line " << endl;
cout << endl;
int n = 0 ;
while ( *pTmp)
{
if ( isalpha (*pTmp))
n ++ ;
pTmp ++ ;
}
cout << pTmp << endl ;
delete [] pTmp ;
}while ( pTmp [ 0 ] ) ;
return 0 ;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 14:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос обработка строки (C++):

Строки обработка - C++
Задание. ВВести строку, отставить в строке только симметричные фрагменты длинной мин 5 символов. Например asdsa. Остальные заменить на...

Обработка строки - C++
Здравствуйте. У меня есть строка: нолщаувсдлч ощзхзждцвыбьчля start Как удалить все до слова start?

Обработка строки - C++
здравствуйте. такая задача: написать функцию, входным параметром которой является указатель на строку. функция должна вернуть количество...

Обработка строки - C++
Доброе время суток. Имеется такая задача : Дана строка, содержащая слова, разделенные одним или несколькими разделительными символами...

Обработка строки - C++
Помогите решить задачи 1. Дана строка текста, в которой слова разделены пробелами и двоеточиями. Необходимо: - определить количество...

обработка строки в с++ - C++
дана строка(вводимая пользователем с клавиатуры). найти и вывести те слова из строки которые начинаются и заканчиваются на одну и ту же...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
08.12.2013, 15:17 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
#define LEN 80
 
int main(int argc, char* argv[])
{
    char* tmp = new char[LEN];
    memset((void*)tmp, 0x00, LEN);
 
    int n = 0;
 
    do {
 
        printf("Vvedite stroku:"); scanf("%s",tmp);
        printf("Vvedite kolichestvo bukv povtora:"); scanf("%d",&n);
 
        for (int i = 0; tmp[i] != '\0'; i++)
        {
            int count = n-1;
            while (--count >= 0)
            {
                for (int t = strlen(tmp)-1; t >= i; t--)
                    tmp[t+1] = tmp[t];
            }
 
            i+=(n-1);
        }
 
        printf("Stroka:%s\n",tmp);
 
    }while(!isdigit(*(tmp+strlen(tmp)-1)));
 
    printf("//=========================================================\n");
 
    _getch();
 
    return 0;
}
1
linberg
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 24
08.12.2013, 15:26  [ТС] #3
Цитата Сообщение от zitxbit Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
#define LEN 80
 
int main(int argc, char* argv[])
{
    char* tmp = new char[LEN];
    memset((void*)tmp, 0x00, LEN);
 
    int n = 0;
 
    do {
 
        printf("Vvedite stroku:"); scanf("%s",tmp);
        printf("Vvedite kolichestvo bukv povtora:"); scanf("%d",&n);
 
        for (int i = 0; tmp[i] != '\0'; i++)
        {
            int count = n-1;
            while (--count >= 0)
            {
                for (int t = strlen(tmp)-1; t >= i; t--)
                    tmp[t+1] = tmp[t];
            }
 
            i+=(n-1);
        }
 
        printf("Stroka:%s\n",tmp);
 
    }while(!isdigit(*(tmp+strlen(tmp)-1)));
 
    printf("//=========================================================\n");
 
    _getch();
 
    return 0;
}

ого, спасибо, буду разбираться
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 15:26
Привет! Вот еще темы с ответами:

Обработка строки символов - C++
Составить программу, которая вводит строку символов, выполняет ее обработку и затем выводит результаты. Заменить все восклицательные...

Обработка строки Char - C++
Задание: Пользователь вводит текст(рандомные символы). Найти наибольшую группу символов состоящих не из букв и вывести начальную...

Обработка строки из файла - C++
Получаю строку из файла. CLogFile* logFileObj=NULL; logFileObj=new CLogFile(FileName); CString line; BOOL...

Обработка символьной строки - C++
Посчитал кол-во символов в строке. Но вот как добавить цифру? #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;string.h&gt; ...


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

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

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