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

"Перевернуть" в строке все слова (Например: "Жили были" в "илиЖ илыб")

05.09.2014, 23:04. Просмотров 1699. Ответов 6
Метки нет (Все метки)

"Перевернуть" в строке все слова. (Например: "Жили были дед и баба" - "илиЖ илиб дед и абаб")
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2014, 23:04
Ответы с готовыми решениями:

Создать запись "Двигатель", которая содержит элементы "Название", "Мощность", "Скорость", "Цена"
Создать запись "Двигатель", которая содержит элементы "Название", "Мощность", "Скорость",...

В строке заменить последовательность слов "один", "два", "три"
Помогите,плз) В строке заменить последовательность слов "один", "два", "три" на "1-2-3"

Ввести структуру "историческое событие" с полями "число", "месяц", "год", "событие"
Ввести структуру ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ЧИСЛО, МЕСЯЦ, ГОД, СОБЫТИЕ. Составить и...

В заданной строке "перевернуть" все слова
#include <stdio.h> #include <iostream> void main() { char c,s; int i,j,k,n; printf("1...

Подсчитать общее количество вхождений в строку символов "А", "a", "B" и "b"
#include <stdio.h> #include <string.h> #include <conio.h> main() { int i; int k; ...

6
Vtulhu
425 / 379 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
06.09.2014, 11:59 2
И в чем проблема? Кстати, результат надо сформировать в той же строке или в другой?
0
Roman_JF150
1 / 1 / 0
Регистрация: 03.06.2014
Сообщений: 24
06.09.2014, 16:32  [ТС] 3
в том что я пропустил часть занятий по строкам))), возникла проблема по простой задаче, да в той же, но вариант в другой строке тоже можно если не затруднит конечно, язык СИ, знаю что в C++ можно подключить reverse, но надо в СИ
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10297 / 6179 / 1555
Регистрация: 25.07.2009
Сообщений: 11,762
06.09.2014, 17:27 4
Цитата Сообщение от Roman_JF150 Посмотреть сообщение
в том что я пропустил часть занятий по строкам)))
Пичалька... Рекурсию не прогуливали?
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
#include <stdio.h>
#include <string.h>
 
void print_reversed(const char * w) {
    if ( *w ) {
        print_reversed(w + 1);
        printf("%c", *w);
    }
}
 
void print_reversed_words(char * s, const char * d) {
    if ( s = strtok(s, d) ) {
        print_reversed(s);
        printf(" ");
        print_reversed_words(NULL, d);
    }
}
 
#define DELIM " \t\n"
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' && printf("Reversed: ") )
        print_reversed_words(buf, DELIM);
        
    return 0;
}
0
Vtulhu
425 / 379 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
10.09.2014, 23:24 5
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
#include "ctype.h"      // isspace
#include "stdio.h"      // puts
 
void reverse(char* const begin, char* end)
{
    char t;
    while( end > begin ) {
        t = *end;
        *end = *begin;
        *begin = t;
        --end;
        ++begin;
    }
}
 
void reverse_words(char* str)
{
    char* space;
    while( *str ) {
        for( space = str; !isspace(*space); ++space) {
            if( !*space ) { break; }
        }
        reverse(str, space - 1);
        if( !*space ) { break; }
        str = space + 1;
    }
}
 
int main(void)
{
    char str[] = "Zhili byli ded da baba, i byla u nih kurochka Ryaba";
    reverse_words(str);
    puts(str);
    return 0;
}
0
Roman_JF150
1 / 1 / 0
Регистрация: 03.06.2014
Сообщений: 24
14.09.2014, 22:46  [ТС] 6
Vtulhu, можете рассказать о переменных функций reverse и reverse words, я понимаю что пишется функция реверса, затем к данной строке ее применяем, но поподробнее опишите тело функции
0
Vtulhu
425 / 379 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
16.09.2014, 19:40 7
Я советую взять блокнот и ручку, записать какую-нибудь фразу и шаг за шагом пройти этот алгоритм "на бумаге", отслеживая состояние переменных. То есть делайте то же, что и компьютер, только вместо памяти будет бумага. Может быть, помучаетесь немного, зато научитесь думать, как программист. Будете такие задачки щелкать пачками.
0
16.09.2014, 19:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2014, 19:40

Удалить все слова, оканчивающиеся группой букв "кая" или "кое"
Удалить из S1,... Sn все слова, оканчивающиеся группой букв, &quot;кая&quot; или &quot;кое&quot;. Хелп, пожалуйста.

Заменить в строке все буквы "О" на "Ъ", а буквы "Е" - на случайные символы
Помогите плз с программой на Си: Дана символьная строка. Заменить в ней все буквы &quot;О&quot; на &quot;Ъ&quot;, а...

В строках текста, оканчивающихся на "*", заменить все "b" на "с"
В строках текста, Оканчивающихся на &quot;*&quot;, заменить все &quot;b&quot; на &quot;с&quot;. #include &lt;stdio.h&gt; #include...


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

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

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