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

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

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

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

26.11.2014, 21:06. Просмотров 246. Ответов 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;
}
Проблема в том, что выводит последнее слово с новой строки. Может кто помочь разобраться в чем дело?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 21:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка строк (C++):

Обработка строк - C++
Помогите пжласта! Скоро экзамен, вот надо допуск получить. 1. Дана строка символов. Удалить из строки все группы букв abcd. 2....

Обработка строк - C++
//разделила предложение на слова, т.е. теперь каждое слово будет с новой строкой. //Как теперь начать обрабатывать каждое слово по...

Обработка строк - C++
Удалить из строки все сдвоенные, строенные и т.д. символы

обработка строк - C++
Нужно вычислить количество слов в строке, количество разных слов в строке и вывести каждое четное слово. Слова в строке разделяются...

Обработка строк - C++
Разработать алгоритм и программу для определения в тексте что самого длинного слова, в котором нет цифр. Нужна ваша помощь,...

обработка строк - C++
Помогите решить задачу, на завтра нада,а с методом выполнения не знаком, к сожалению. Разработать консольное приложение, выполняющее...

1
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
26.11.2014, 21:19 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Потому что ты символ конца строки сохраняешь при вводе через getchar().
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 21:19
Привет! Вот еще темы с ответами:

обработка строк - C++
1. Розработать алгоритм и программу для определения процента повторения заданнгого слова в предложении 2. Розработать программу и...

Обработка строк - C++
Помогите написать программу, которая проверяет содержатся ли в слове буквы, цифры?

Обработка строк. - C++
Определить, сколько раз в строке встречается последовательность символов «ВЕС».

Обработка строк - C++
Подскажите пожалуйста, как в введенной строке поставить точки перед пробелами


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

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

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