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

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

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

В заданном тексте поменять местами каждые два соседних слова - C++

07.06.2013, 00:52. Просмотров 332. Ответов 0
Метки нет (Все метки)

Задание: В заданном тексте поменять местами каждые два соседних слова.

Подскажите, пожалуйста!

Программа работает правильно только, если введено ЧЁТНОЕ количество слов.
Если слов будет НЕЧЕТНОЕ количество, то последнее слово даже не печатается на экран.

Вообщем мне нужно, чтобы при НЕЧЕТНОМ количестве слов, последнее слово всё-таки писалось на экране.

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
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <clocale>
 
#define DELIM " \t\n,.:;!?@#$^*()[]{}-+=\\/"
#define MAX_COUNT_WORDS 100
 
int main(void)
{
    setlocale(LC_ALL, "RUS");
    char str[] = "разве можно верить пустым словам", 
        *ptr = NULL,
        *word[MAX_COUNT_WORDS] = { NULL },
         output[500] = { 0 };
 
    unsigned i = 0, size;
 
    for (ptr = strtok(str, DELIM); ptr != NULL; ptr = strtok(NULL, DELIM), ++i)
    {
        word[i] = ptr;
    }
 
    size = i;
    
    for (i = 0; i < size - 1; i += 2)
    {
        strcat(output, word[i + 1]);
        strcat(output, " ");
        strcat(output, word[i]);
        strcat(output, " ");
    }
 
    printf("%s", output);
    getch();
    return 0;
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 00:52     В заданном тексте поменять местами каждые два соседних слова
Посмотрите здесь:

C++ Написать программу,которая считывает текст из файла и выводит его на экран,меняя местами каждые два соседних слова.
Поменять каждые два соседних слова в строке местами C++
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова C++
Поменять местами каждые соседние слова C++
В фразе поменять местами два слова C++
C++ Введенный текст вывести на экран, меняя местами каждые два слова
C++ Строки. Считывание текста и его вывод, в котором каждые 2 соседних слова меняются местами
C++ Поменять местами соседние слова в тексте
C++ Строки. В тексте поменять местами каждые два соседних слова
C++ Строковые потоки. Переставить местами два соседних слова
C++ В тексте поменять местами первую и вторую половины каждого слова

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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