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

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

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

Функция добавляющая троеточие - C++

17.06.2010, 13:41. Просмотров 950. Ответов 2
Метки нет (Все метки)

Реализовать функцию добавляющая троеточие после каждого слова в строке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2010, 13:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция добавляющая троеточие (C++):

Функция, добавляющая k строк в начало матрицы - C++
Здравствуйте! Нужно было с помощью отдельных функций создать двумерный динамический массив, имеющий m строк и n столбцов, заполнить его...

Функция добавляющая к числу справа цифру - C++
Описать функцию AddRightDigit(D, K), добавляющую к целому положительному числу K справа цифру D (D – входной параметр целого типа, лежащий...

Функция, добавляющая n элементов в динамический массив - C++
Есть динамический массив заполненый k - колличеством элементов надо сделать функцию которая добавляет n - количество элементов в конец уже...

Функция добавляющая элемент в заданное место динамического массива - C++
5. Написать Функцию, которая до динамического массива добавляет один элемент в заданное место. template <typename T> voidAddElemToArray...

Что значат троеточие? - C++
привет. смотрю такой сырец. Как дословно переводятся эти три точки? template <typename Iterator, typename Expr , typename...

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

2
P-VS-S
4 / 4 / 2
Регистрация: 01.12.2009
Сообщений: 32
17.06.2010, 16:54 #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
    
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
using namespace std;
 
 
int main()
{
 
    char s[10] = {"asd dsa s"};
    char t[4] = {"..."};
    
for(int i=0;i<10;i++)
    {
 
        if(s[i]!=' '){
        printf("%c",s[i]);
    }
        else if(s[i]==' ')
        {
            printf("%s",t);
        }
}
    getch();
    return 0;
}
это так по быстрому, над размерами и видами сам поработай
1
-=ЮрА=-
Заблокирован
Автор FAQ
29.06.2010, 12:40 #3
Мой взгляд на проблемму. Решил делать без динамического выделения памяти, так что
длинна вводимого текста имеет некоторые ограничения. Алгоритм реализовал с использованием
дополнительного целочисленного массива, в который заносятся позиции конца слов...
Всё впринципе просто, успеха
Программу писал в Microsoft Visual Studio 6.0, а также протестик Борландом 3.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <string.h>
#include <stdio.h>
 
char str[1024];//Выделяем память под строку
int iPos[512]; //содержит позиции конца слов
char * enter_text(char * str, char chEnd);
int    get_words (char * str, int *iPos);
char * skip_space(char * str);
char * insert_str(char * str, int  iPos, char * sIns);
 
void main()
{
start :
    printf("\tEnter input string\r\n");
    strcpy(str,enter_text(str, '\n'));
    int nWords = get_words(str,iPos);
    char sAdd[] = "...";
    for(int i = 0; i < nWords;i++)
        insert_str(str, iPos[i] + i*strlen(sAdd), sAdd);
    printf("String after placing points\r\n%s",str);
    printf("Press NUM1 to enter new text\r\n");
    enter_text(str, '\n');
    if(str[0] = (char)'1')
        goto start;
}
 
char * enter_text(char * str, char chEnd)
{
    int i = 0;
    while((str[i] = getchar()) != chEnd)
        i++;
    return str;
}
 
char * skip_space(char * str)
{
    while(str)
    {
        if(str[0] != ' ')
            break;
        str++;
    }
    return str;
}
 
int    get_words (char * str, int *iPos)
{
    char * chBuf;
    //В случае если строка начинается с пробелов
    if(str)
    if((chBuf = skip_space(str)))
        chBuf = strchr(chBuf,' ');
    int nWords = 0;
    while(chBuf)
    {
        //Доходим до слова
        chBuf = skip_space(chBuf);
        //Пропускаем буквы
        while(chBuf)
        {
            if(chBuf[0] != ' ')
                break;
            chBuf++;
        }
        //Запоминаем позицию 1-го пробела после слова
        if(chBuf)
        {
            iPos[nWords] = strlen(str) - strlen(chBuf) - 1;
            nWords++;
        }
        chBuf = strchr(chBuf,' ');
    }
    return nWords;
}
 
char * insert_str(char * str, int iPos, char * sIns)
{
    int sLen,sAdd,i;
    if(str && sIns)
    {
        sLen = strlen(str);
        sAdd = strlen(sIns);
        if(iPos < sLen)
        for(i = sLen - 1; iPos <= i;i--)
            str[i + sAdd] = str[i];
        for(i = iPos; i < iPos + sAdd; i++)
            str[i] = sIns[i - iPos];
    }
    return str;
}
1
Миниатюры
Функция добавляющая троеточие  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2010, 12:40
Привет! Вот еще темы с ответами:

Функция sqrt: существует более одного экземпляра. Функция перегруженная - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; int main(){ float s, p; int c, a; s=0; ...

Функция удаления текста в скобках [2], непосредственно функция + 12кб вложений - C++
Доброго времени суток, случилось так, что пришлось работать с с-строками (лаба, угу), в которой нужно удалить весь текст в скобках,...

какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() - C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()

что за функция такая strstr? или это не функция? - C++
void search(sp *list){ sp *prt = list; char f,r; cout&lt;&lt;Rus(&quot;введите текст&quot;)&lt;&lt;endl; cin&gt;&gt;f; cout&lt;&lt;Rus(&quot;введите выходной...


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

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

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