Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Светлое прошлое
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 1
1

Вставка в символьную строку цифр

22.12.2016, 09:02. Просмотров 148. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста, как вставить перед каждым словом число гласных, а после каждого слова число согласных при помощи указателей. Моя программа считает число гласных и согласных в слове, но как их теперь вставить в этот выделенный блок памяти?(

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <cstring>
#include <cctype>
#include <math.h>
using namespace std;
 
int countglansniye (char *s, int len); //прототип функции галсных
int countsoglansniye (char *s, int len); //прототип функции согласных
int main()
{
    char tmp [80];
    char* ptr;
    char exit []="exit";
    
    do
    {
cout<<"vvod stroki"<<endl;
gets(tmp);
if (strcmp(tmp,exit)==0) break;
 
ptr=new char [strlen(tmp)+1];
strcpy_s(ptr, strlen(tmp)+1,tmp);
 
 
char *start=ptr;
for ( char *p = ptr; *(p-1)!=0; p++)
{
    if (*p==' ' || *p==0)
    {
    int a=countglansniye (start, p-start);
    int b=countsoglansniye (start, p-start);
    start=p+1;
 
    }
 
}
delete ptr;
    } while(true);
system ("pause");
 
 
return 0;
}
 
 
int countglansniye (char *s, int len)
{
    char glas [] = "aeiouyAEIOUY";
    int gcount=0;
    for (char* p = s; p<s+len; p++)
        for (char *pp=glas; *pp!=0;pp++)
        if (*p==*pp)
        {
            gcount++;
            break;
        }
    return gcount;
}
int countsoglansniye (char *s, int len)
{
    char soglas [] = "qwrtpsdfghjklzxcvbnmQWERTPSDFGHJKLZXCVBNM";
    int scount=0;
    for (char* p = s; p<s+len; p++)
        for (char *pp=soglas; *pp!=0;pp++)
        if (*p==*pp)
        {
            scount++;
            break;
        }
    return scount;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2016, 09:02
Ответы с готовыми решениями:

Как используя командную строку ввести символьную строку?
Как используя командную строку ввести символьную строку?

Считывает символьную строку с экрана, выводит в файл (.txt) данную строку, перевернув её(было 123, стало 321)
Наткнулся на задачу, помогите решить: вводиться символьная строка, программа...

Ввести символьную строку.
Помогите решить задачу с объяснениями. Ввести символьную строку. Перед...

преобразование целых чисел в символьную строку
Разработка программного кода программы преобразование целых чисел в символьную...

Удалить одну символьную строку из другой
Это код удаления одной строки из другой, вопрос: можно обойтись без класса...

1
MrGluck
Модератор
Эксперт CЭксперт С++
8084 / 4941 / 1431
Регистрация: 29.11.2010
Сообщений: 13,392
22.12.2016, 11:23 2
Цитата Сообщение от Светлое прошлое Посмотреть сообщение
как вставить
Если вас интересует подход с помощью средств языка С (т.к. на С++ данная задача решается намного проще с помощью std::istringstream и std::string), то советую разбить исходную строку с помощью strtok, а лексемы записать в другой буфер, обрамляя их нужными цифрами.

Добавлено через 9 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#define STR_SIZE 256
#define DELIM " ,.\t\n"
 
int main(void)
{
    char str[] = "Eniki beniki eli vareniki", result[STR_SIZE], *p, tmp[STR_SIZE];
 
    for (p = strtok(str, DELIM); p; p = strtok(NULL, DELIM))
    {
        sprintf(tmp, "%d%s%d ", 2, p, 3); /* формируем строку для добавления */
        strcat(result, tmp);
    }
 
    printf("%s\n", result);
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2016, 11:23

Ввести символьную строку найти в ней числа
Ввести символьную строку найти в ней числа. Найденные числа вывести на экран и...

Как заставить функцию возвращать символьную строку?
Всем доброго времени суток! Такой вопрос, есть задание, надо ввести с клавы...

Ввести символьную строку проверить есть ли в ней цифры
Ввести символьную строку проверить есть ли в ней цифры. Если в строке есть...


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

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

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