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

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

Войти
Регистрация
Восстановить пароль
 
kisa88
Сообщений: n/a
#1

Инвентирование строки - C++

11.12.2009, 21:53. Просмотров 706. Ответов 1

Дана строка,содержащая текст на естественном языке.Напишите функцию,создающую новую строку ,в которой все слова из старой строки следуют в обратном порядке и разделены одним знаком пробела.исходная строка может содержать различные знаки разделители (пробелы,запятые,точки и т.п.).Полный набор знаков-разделителей передается в функцию при ее вызове.Написать на с.
Помогите пожалуста.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2009, 21:53     Инвентирование строки
Посмотрите здесь:

Добавить в конец первой строки, последние n2-n1 слов второй строки C++
C++ Скопировать второе слово каждой строки в начало следующей строки
Из символов введенной строки сформировать две строки - из цифр и букв C++
C++ Найти номер строки матрицы, наиболее отдаленный от первой строки
C++ Инвентирование порядка елементов в массиве
C++ Поменять первый элемент строки с максимальным элементом этой строки
Выявить строки, в которых макс. эл-т больше суммы остальных эл-ов строки C++
C++ Упорядочить строки матрицы лексикографически по неубыванию первых k элементов строки.
C++ Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки
Даны три строки: S1, S2, S3. Заменить в строке S1 первое вхождение строки S2 на S3 C++
C++ Переписать все цифры каждой строки файла в конец строки
Функция разделения строки в массив отдельных частей этой строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
11.12.2009, 22:27     Инвентирование строки #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
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define MAXW 1024
 
char *
word_reverse(char *, char *);
 
int
main(void)
{
    char s[4096], *p;
 
    printf("Введите строку: ");
    if(fgets(s, sizeof(s), stdin) == NULL || *s == '\n')
        return 1;
    if(p = strrchr(s, '\n'))
        *p = '\0';
 
    p = word_reverse(s, " ()-:;,.?!");
    printf("Новая строка: %s\n", p);
    free(p);
    return 0;
}
 
/*
 * word_reverse: реверс слов в строке s, разделенных
 * знаками, указанными в параметре delim */
char *
word_reverse(char *s, char *delim)
{
    int i, nw;
    char *buf, *p;
    char *words[MAXW];
 
    /* выделение слов в строке */
    buf = strdup(s);
    for(i = 0, p = buf; i < MAXW &&
                    (p = strtok(p, delim)); i++, p = NULL)
        words[i] = strdup(p);
    
    nw = i;
    *buf = '\0';
    /* запись слов в результирующую строку в обратном порядке */
    for(i = nw - 1; i >= 0; i--) {
        strcat(buf, words[i]);
        i > 0 ? strcat(buf, " ") : 0;
    }
    
    /* освобождение памяти из-под слов */
    for(i = 0; i < nw; i++)
        free(words[i]);
    return buf;
}
Yandex
Объявления
11.12.2009, 22:27     Инвентирование строки
Ответ Создать тему
Опции темы

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