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

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

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

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

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

Реализовать функцию добавляющая троеточие после каждого слова в строке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2010, 13:41     Функция добавляющая троеточие
Посмотрите здесь:

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

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

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

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

Функция добавляющая в конец списка число, что бы сумма всех чисел в списке была равно 100 - Lisp
добрый вечер, нужна помощь людей знающих лисп. в этот раз уже даже наметок нет. подскажите как это делать? функция: 3)Добавляющая...

Добавляющая кнопка - jQuery
Привет ! необходимо реализовать такую задачу: есть текстовое поле ввода профессии и рядом кнопка, при нажатии кнопки эти текстовое поле и...

ActionBar, всегда показывать троеточие - Программирование Android
Не могу понять, в 4.1.1 есть троеточие, а в 4.3 нету. Как принудительно сделать чтоб оно всегда было?

Как передать троеточие дальше? - Visual C++
Хочу написать функцию, которая похожа на wsprintf, только возвращает wstring. wstring format(LPWSTR text, ...) { va_list...

процедура добавляющая текст в ячейку - VBA
дан список с именами и нужно добавить еще,как сделать макрос??помогите

Троеточие в конце большого текста - HTML, CSS
Мне нужно задать троеточие в конце в случае, если блок (р) выше 140px, ну или можно указать количество строк Можно было бы использовать...

Троеточие в конце многострочного текста - JavaScript
Задал этот вопрос в раздел HTML, но надо сюда Вот сама тема, там все описано : ...

Ограничение количества строк в блоке и троеточие - HTML, CSS
Доброго времени суток! На данный момент текст обрезается, используя лимит на высоту блока и свойство overflow. Код таков: <td...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
}
это так по быстрому, над размерами и видами сам поработай
-=ЮрА=-
Заблокирован
Автор 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;
}
Миниатюры
Функция добавляющая троеточие  
Ответ Создать тему
Опции темы

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