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

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

Восстановить пароль Регистрация
 
linberg
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 24
08.12.2013, 14:54     обработка строки #1
Обработка строки при помощи указателей


Задание : для ввода всех строк использовать один и тот же символьный массив 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 ;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 14:54     обработка строки
Посмотрите здесь:

Обработка строки C++
обработка строки в с++ C++
Обработка строки C++
Строки обработка C++
C++ Обработка строки
C++ Обработка строки
Обработка символьной строки C++
Обработка строки Char C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 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;
}
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;
}

ого, спасибо, буду разбираться
Yandex
Объявления
08.12.2013, 15:26     обработка строки
Ответ Создать тему
Опции темы

Текущее время: 13:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru