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

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

Восстановить пароль Регистрация
 
drageon
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 10
07.06.2013, 00:52     В заданном тексте поменять местами каждые два соседних слова #1
Задание: В заданном тексте поменять местами каждые два соседних слова.

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

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

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

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++ Строки. Считывание текста и его вывод, в котором каждые 2 соседних слова меняются местами
C++ Поменять местами соседние слова в тексте
C++ Строки. В тексте поменять местами каждые два соседних слова
C++ Строковые потоки. Переставить местами два соседних слова

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

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

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