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

Обработка строк - C++

Восстановить пароль Регистрация
 
Nipton
 Аватар для Nipton
0 / 0 / 0
Регистрация: 21.11.2014
Сообщений: 8
26.11.2014, 21:06     Обработка строк #1
Есть задание: Написать консольное приложение, реализующее полученный вариант задания, используя конструкции и соответствующие функции стандартной библиотеки языка С.
Ввести с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть введена посимвольно с использованием функции getchar(). Из нее построить новую строку, в которой символы в словах расположены в обратном порядке по сравнению с исходной строкой.
Мое решение:
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
#include "stdafx.h"
#include <iostream>
#include <cstring> 
#include<stdlib.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, "Russian");
    char str[81] = "";
    cout << "Введите строку: " <<endl;
    for (int i = 0; i < 81; i++)
    {
        str[i] = getchar();
        if (str[i] =='\n')
            break;
    }
    system("cls");
    cout << "Ваша строка: ";
    cout << str <<endl; 
    char *mas[81] = {0};
    char *lexeme = strtok(str, " ");
    int i = 0;
    while(lexeme)
    {
        mas[i++] = lexeme;
        lexeme = strtok(NULL, " ");
    }
    i = 0;
    while(mas[i] != 0)
    {
        strrev(mas[i++]);
    }
    i = 0;
    cout << "Ваша строка после выполнения программы: " <<endl;
    while(mas[i] != 0)
    {
        cout << mas[i++] << " ";
    }
    system("pause");
    return 0;
}
Проблема в том, что выводит последнее слово с новой строки. Может кто помочь разобраться в чем дело?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 21:06     Обработка строк
Посмотрите здесь:

C++ Обработка строк
Обработка строк C++
C++ Обработка строк
C++ Обработка строк
C++ обработка строк
C++ Обработка строк
Обработка строк C++
C++ Обработка строк

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,476
26.11.2014, 21:19     Обработка строк #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Потому что ты символ конца строки сохраняешь при вводе через getchar().
Yandex
Объявления
26.11.2014, 21:19     Обработка строк
Ответ Создать тему
Опции темы

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