Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 33
1

Работа со словами в строке

22.03.2017, 11:23. Показов 1176. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Поменять местами первое и последнее слово в каждой строке.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2017, 11:23
Ответы с готовыми решениями:

Как поставить запятые перед определенными словами в строке?
Дана строка символов. Поставить перед союзами "но" и "а" запятые (если они не в начале предложения)...

В строке между словами вставить вместо пробела запятую и пробел
ну вот элементарные задачи, помогите решить пожалуйста___))) сам не умею. точнее не получается)))...

Функция, которая оставляет в строке только буквы и пробелы между словами
Есть примерный код, но выводит совсем не то. Кто знает, в чем причина, и что нужно переделать или...

Удалить каждое четное слово в строке, при этом между словами может стоять не 1, а несколько пробелов
Требуется удалить каждое четное слово в строке, при этом между словами может стоять не 1 а...

3
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
22.03.2017, 16:50 2
Лучше было бы описание задачи вынести в заголовок, тогда список похожих тем был бы более репрезентативным. Вот пара похожих тем, найденных поиском:
Строка символов. Поменять местами первое и последнее слово в строке
В каждой строке исходного файла поменять местами первое и последнее слово, и записать в выходной файл
0
737 / 542 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
23.03.2017, 06:49 3
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
void Reshuffle(char* s);
int main()
{
    char str[] = "!Learn C with our popular C tutorial, which will take you from the very basics of C all the way "
        "through sophisticated topics like binary trees and data structures.";
    Reshuffle(str);
    puts(str);
    return 0;
}
void Reshuffle(char* s)
{
 
    int i = 0, len, flag = 1;
    char del[] = " .,;:!?";
    char *begFirst, *begLast, *endFirst, *endLast, *p, *m, tmp;
    len = strlen(s);
    endLast = &s[len - 1];
    while(flag){    //находим конец последнего слова
        for(i = 0, flag = 0; del[i]; i++)//если строка оканчивается знаком препинания
            if(*endLast == del[i]){
                endLast--;
                flag = 1;
                break;
            }
    }
    for(begLast = endLast, flag = 0; !flag; begLast--)//находим начало последнего слова
        for(i = 0; del[i]; i++)
            if(*begLast == del[i]){
                flag = 1;
                break;
            }
    begLast += 2;
    begFirst = s;
    while(flag){
        for(i = 0, flag = 0; del[i]; i++)//если строка начинается не с буквы,например с кавычек
            if(*begFirst == del[i]){
                flag = 1;
                begFirst++;
                break;
            }
    }
    for(endFirst = begFirst, flag = 0; !flag; endFirst++)
        for(i = 0; del[i]; i++)
            if(*endFirst == del[i]){
                flag = 1;
                break;
            }
    endFirst -= 2;
    *begLast = toupper(*begLast);
    *begFirst = tolower(*begFirst);
    if(endLast - begLast > endFirst - begFirst){
        for(p = endFirst, m = endLast; p >= begFirst; p--, m--){
            tmp = *m;
            *m = *p;
            *p = tmp;
        }
        for(p = m; m >= begLast; begLast++, p = m){
            tmp = *m;
            while(p > begFirst){
                *p = *(p - 1);
                p--;
            }
            *begFirst = tmp;
        }
    }
    else{
        for(p = begFirst, m = begLast; m <= endLast; p++, m++){
            tmp = *p;
            *p = *m;
            *m = tmp;
        }
        for(m = p; p <= endFirst; endFirst--, m = p){
            tmp = *p;
            while(m < endLast){
                *m = *(m + 1);
                m++;
            }
            *endLast = tmp;
        }
    }
}
блин,почему движок сайта слэш игнорирует?
0
shvyrevvg
23.03.2017, 07:08     Работа со словами в строке
  #4

Не по теме:

Цитата Сообщение от LFC Посмотреть сообщение
блин,почему движок сайта слэш игнорирует?
Угу, двойной нужно ставить.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2017, 07:08

Как с помощью IndexOf выделить все слова в первой строке и сравнить их со словами во второй строке?
как с помощью IndexOf выделить все слова в первой строке и сравнить их со словами во второй строке,...

Delphi со словами в строке
Народ выручайте!!! Есть строка (Edit1.text) где мы вводим от 3 до 6 слов c клавиатуры и есть...

В строке между словами вставить символ /
В строке между словами вставить символ /. Выполнить через команды на DOS 3.1 Добавлено через 1...

В строке между словами вставить символ
Вот к примеру через спецефикатор вывода printf(&quot; здесь здесь здесь&quot;);


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru