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

Перевернуть каждое слово строки

25.05.2017, 23:35. Показов 2295. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2017, 23:35
Ответы с готовыми решениями:

«Перевернуть» каждое четное слово, сохранив неизменным их порядок в строке
Вводим строку символов, а потом надо «Перевернуть» каждое четное слово, сохранив неизменным их...

Перевернуть каждое четное слово, сохранив неизменным их порядок в строке
Введена строка символов. «Перевернуть» каждое четное слово, сохранив неизменным их порядок в...

Перевернуть каждое четное слово, сохранив неизменным их порядок в строке
Введена строка символов. «Перевернуть» каждое четное слово, сохранив неизменным их порядок в строке.

В строке, содержащей несколько слов, разделенных пробелом, перевернуть каждое слово
Нужно написать программу Задание: В строке, содержащей несколько слов, разделенных пробелом,...

2
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
26.05.2017, 05:47 2
Лучший ответ Сообщение было отмечено Ead Ano как решение

Решение

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
#include <stdio.h>
#include <ctype.h>
#define is_delim(c) (isspace((c)) || ispunct((c)))
 
char* words_rev(char* s){
    char* _f, *_l, c, *t = s;
    int n = 0;
    do {
        if(!is_delim(*s) && *s)
            ++n;
        else if(n > 0){
            for(_f = s - n, _l = s - 1; _f < _l; ++_f, --_l){
                c   = *_f;
                *_f = *_l;
                *_l = c;
            }           
            n = 0;
        }
    } while(*s++ != '\0');
    return t;
}
 
int main(void){
    char s[] = "LPA, AVAJ, LREP, PSIL, HTROF.";
    puts(s);
    puts(words_rev(s));
    getchar();
    return 0;
}
1
0 / 0 / 1
Регистрация: 23.04.2016
Сообщений: 15
26.05.2017, 10:04  [ТС] 3
Tak toje mojno no delim simvoli toqda terayutsa:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define DELIM " ,.?!;:\n'"
int main()
{       int L,i;
        char str[255],*p,a;
        gets(str);
        for(p = strtok(str, DELIM); p; p = strtok(NULL, DELIM))
        {L=strlen(p);
        for(i=0;i<=L;i++)
                { a=p[L-i];
                printf("%c",a);
                }
        printf(" ");
 
        }printf("\n");
}
0
26.05.2017, 10:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2017, 10:04
Помогаю со студенческими работами здесь

В строке, содержащей несколько слов, разделенных пробелом, перевернуть каждое слово
В строке, содержащей несколько слов, разделенных пробелом, перевернуть каждое слово. Входные...

В тексте удалить каждое четное слово, продублировать каждое нечетное слово, заменив все вхождения букв 'д' на букву 'т'
Помогите, совсем не могу разобраться в написании программы: &quot;В тексте удалить каждое четное слово,...

Каждое слово строки напечатать наоборот
на С Каждое слово строки напечатать наоборот ( слова разделены пробелом, знаками препинания). Я...

Удалить из строки каждое третье слово
Здравствуйте! Нужна помощь в выполнении задания. Задание : необходимо так изменить введенную...


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

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