Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Сергей и Ира
0 / 0 / 0
Регистрация: 22.01.2014
Сообщений: 4
1

Поменять местами первое и последнее слово, найти слова-палиндромы

04.03.2014, 08:28. Просмотров 983. Ответов 4
Метки нет (Все метки)

Объектно-ориентированное программирование.
Разработать программу. В заданном тексте (слова разделяются пробелами) по требованию пользователя выполнить одно или два из следующих заданий:
1) поменять местами первое и последнее слово;
2) найти слова-палиндромы (одинаково читаются слева направо и справа налево, например, КАЗАК);
3) определить, является ли заданный текст палиндромом (пробелы между словами во внимание не принимать).
Разработать форму выходного документа.

Помогите пожалуйста, оплачу, если понадобится!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 08:28
Ответы с готовыми решениями:

Поменять местами первое и последнее слово
Помогите решить задачу, используя строки. В заданном тексте (слова разделены пробелами) поменять...

Поменять местами первое и последнее слово в строке
задача: поменять местами первое и последнее слово в строке. проблема некорректно определяется...

Поменять местами первое и последнее слово в предложении
Собственно, задачка вроде легкая, но у меня нету никаких идей. С клавиатуры вводится символьная...

Поменять местами первое и последнее слово в предложении
Дано предложение(водить с консоли). Поменять местами первое и последнее слово. Помогите пожалуйста

4
SatanaXIII
Почетный модератор
Эксперт С++
5821 / 2823 / 387
Регистрация: 01.11.2011
Сообщений: 6,827
Завершенные тесты: 1
04.03.2014, 12:36 2
Цитата Сообщение от Сергей и Ира Посмотреть сообщение
оплачу, если понадобится
А вот этого вот нельзя. Точнее можно еще как можно, но только в платном разделе.
1
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10748 / 6476 / 1601
Регистрация: 25.07.2009
Сообщений: 12,225
04.03.2014, 15:19 3
sentence.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef SENTENCE_H_
#define SENTENCE_H_
 
#include <string>
#include <vector>
#include <ostream>
 
class Sentence {
private:
    std::vector<std::string> words;
public:
    Sentence(const std::string & str);
    void swapHeadTail();
    bool isPalindrome(const std::string & s) const;
    std::vector<std::string> innerPalindromes() const;
    friend std::ostream & operator << (std::ostream & ost, const Sentence & sent);
};
 
#endif /* SENTENCE_H_ */

sentence.cpp
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
#include "sentence.h"
#include <algorithm>
#include <iterator>
#include <functional>
#include <sstream>
 
Sentence::Sentence(const std::string & str) {
    std::istringstream ist(str);
    std::copy(std::istream_iterator<std::string>(ist), std::istream_iterator<std::string>(), std::back_inserter(words));
}
 
void Sentence::swapHeadTail() {
    std::swap(*words.begin(), *words.rbegin());
}
 
bool Sentence::isPalindrome(const std::string & str) const {
    std::string rst = str;
    std::reverse(rst.begin(), rst.end());
 
    return ( rst == str);
}
 
std::vector<std::string> Sentence::innerPalindromes() const {
    std::vector<std::string> ip;
    for ( std::vector<std::string>::const_iterator i = words.begin(); i != words.end(); ++i )
        if ( isPalindrome(*i) )
            ip.push_back(*i);
 
    return ip;
}
 
std::ostream & operator << (std::ostream & ost, const Sentence & sent) {
    std::copy(sent.words.begin(), sent.words.end(), std::ostream_iterator<std::string>(ost, " "));
    return ost;
}

testsentence.cpp
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
#include "sentence.h"
#include <iostream>
#include <iterator>
 
int main() {
    Sentence sent("any 12321 many 4554 money more");
 
    std::cout << "Sentence: " << sent << std::endl;
 
    std::vector<std::string> palindromes = sent.innerPalindromes();
    if ( ! palindromes.empty() ) {
        std::cout << "Inner palindromes: ";
        std::copy(palindromes.begin(), palindromes.end(), std::ostream_iterator<std::string>(std::cout, " "));
        std::cout << std::endl;
    }
    else
        std::cout << "No inner palindromes found!" << std::endl;
 
    sent.swapHeadTail();
    std::cout << "Swap head & tail: " << sent << std::endl;
    std::cout << "bla bla bla" << " is" << ( ( sent.isPalindrome("bla bla bla") ) ? " " : " not " ) << "a palindrome." << std::endl;
    std::cout << "abc cba" << " is" << ( ( sent.isPalindrome("abc cba") ) ? " " : " not " ) << "a palindrome." << std::endl;
 
    return 0;
}
1
Сергей и Ира
0 / 0 / 0
Регистрация: 22.01.2014
Сообщений: 4
17.03.2014, 09:36  [ТС] 4
Я ничего не понимаю Нужно, что бы в итоге после первого запуска программы был exe файл...

Добавлено через 15 минут
И нужно что бы были формы.
0
Памирыч
18.03.2014, 06:07     Поменять местами первое и последнее слово, найти слова-палиндромы
  #5
 Комментарий модератора 
Закрыто. Причина: кросспостинг
0
18.03.2014, 06:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2014, 06:07
Привет! Вот еще темы с ответами:

Поменять местами в строке первое и последнее слово
Ребят,помогите пожалуйста,с решением задачки,если не трудно...Собственно,задачка: Словом текста...

Поменять местами первое и последнее слово в строке
Мне нужна помощь. Помогите сделать это задание Создать файл, в который записываются исходные...

Поменять местами первое и последнее слова в строке
Поменять местами в строке первое и последнее слова . Считать , что слова отделены друг от друга...

В строках поменять местами первое и последнее слова
Ребята, помогите пожалуйста с задачами... язык С++ 1.Ввести 2 строки. В результате выполнения...


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

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

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