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

Зеркальное отражение строки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
DEMONSTR
7 / 7 / 2
Регистрация: 07.03.2013
Сообщений: 63
28.09.2013, 23:20     Зеркальное отражение строки #1
Всем привет. Такая задача: Написать программу реализующую зеркальное отражение строки
Вот что я накалякал Подскажите что здесь не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    string strStart,strEnd;
    cout <<"Please enter the string."<< endl;//выводим текст
    getline (cin, strStart);//получаем исходную строку
    
    for(int i=0; i<strStart.length(); i++)
    {
        strEnd=strEnd.insert(1+i,strStart,strStart.length()-i,1);
    }
    
    cout<<strEnd<<endl;
    
    cin.get();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
28.09.2013, 23:50     Зеркальное отражение строки #2
Видимо в 15-й строке ты перепутал strEnd с strStart.
DEMONSTR
7 / 7 / 2
Регистрация: 07.03.2013
Сообщений: 63
29.09.2013, 01:45  [ТС]     Зеркальное отражение строки #3
castaway, напиши пожалуйста как надо поменять

Добавлено через 1 час 52 минуты
HELP!
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
29.09.2013, 01:50     Зеркальное отражение строки #4
Я ошибся, я не знаю как решить твою проблему.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
29.09.2013, 02:30     Зеркальное отражение строки #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string strStart,strEnd;
    cout <<"Please enter the string."<< endl;//выводим текст
    getline (cin, strStart);//получаем исходную строку
 
    for(int i=strStart.size() - 1; i >= 0; --i)
    {
        strEnd.push_back(strStart[i]);
    }
 
    cout<<strEnd<<endl;
 
    cin.get();
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::string str_reversed;
    std::reverse_copy(std::begin(str), std::end(str), std::back_inserter(str_reversed));
    std::cout << str_reversed << std::endl;
    return 0;
}
http://ideone.com/0QNo48
MastAKK
 Аватар для MastAKK
143 / 134 / 12
Регистрация: 13.10.2012
Сообщений: 585
Записей в блоге: 1
29.09.2013, 02:32     Зеркальное отражение строки #6
А не проще ли цикл от i = strStart.length()-1 до 0 прогонять? И делать
C++
1
strEnd.push_back(strStart.at(i)); //без strEnd =; pish_back уже вставляет в строку и не надо ничего приравнивать
Yandex
Объявления
29.09.2013, 02:32     Зеркальное отражение строки
Ответ Создать тему
Опции темы

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