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

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

Войти
Регистрация
Восстановить пароль
 
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
#1

Реверсирование строк - C++

03.10.2012, 15:12. Просмотров 525. Ответов 7
Метки нет (Все метки)

Нужно отсортировать строки по алфавиту и вывести в файл реверсированные строки.
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
#include "stdafx.h"
#include <fstream>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
 
using namespace std;
 
bool Mycompare ( string elem1, string elem2 )
{
    return elem1 > elem2;
}
 
 
int main(int argc, char* argv[])
{
  ifstream c("input.txt");
  ofstream d("output1.txt");
  vector<string> aa;
  char ee[255];
 
//input
  if (c.is_open()) {
    while(!c.eof()) {
      c.getline(ee, 254);
      aa.push_back(ee);
    }
//    sort
    sort(aa.begin(), aa.end(), Mycompare);
    
//output
//  for (unsigned int j=0; j<aa.size(); j++) dd<<aa[j].c_str()<<endl;
    for (vector<string>::iterator j=aa.begin(); j!=aa.end(); j++) 
        d<<(*j).c_str()<<endl;
  }
  c.close();
  d.close();
 
    return 0;
}
Сортировка работает нормально, а вот как реверсировать строки не знаю. Помогите пожалуйста!!!
Нужно использовать vector.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 15:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реверсирование строк (C++):

Реверсирование строк - C++
Всем добрый вечер! Как всегда, практикуюсь по книжным примерам. Вот дошёл до темы реверсирования строк, то есть расположения букв в...

Реверсирование - C++
Помогите пожалуйста! Задача Реверсировать число и увеличить его в 2 раза.

Самая длинная общая подпоследовательность строк/ НОП строк (Динамическое программирование) - C++
Доброго времени суток. Помогите пожалуйста разобраться с алгоритмом НОП строк. Суть алгоритма. Необходимо найти самую длительную...

По некоторому количеству строк (не более N) найти пары строк с общим словом - C++
По некоторому количеству строк (не более N) найти пары строк с общим словом. помогите, пожалуйста. слишком быстро перескочили и со...

Вводится массив строк текста с неизвестным заранее количеством строк - C++
1)Вводится массив строк текста с неизвестным заранее количеством строк.Ввод текста заканчивается, если введенная строка текста будет равна...

Реализовать функцию перемещения строк, принимающую в качестве параметров два вектора строк - C++
Подскажите насколько правильно решена задача. условие: Напишите функцию MoveStrings, которая принимает два вектора строк, source и...

7
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
03.10.2012, 15:13 #2
СергейАС, std::reverse.
0
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:14  [ТС] #3
А как она работает?
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
03.10.2012, 15:14 #4
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
44
#include "stdafx.h"
#include <fstream>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
 
using namespace std;
 
bool Mycompare ( string elem1, string elem2 )
{
    return elem1 > elem2;
}
 
 
int main(int argc, char* argv[])
{
  ifstream c("input.txt");
  ofstream d("output1.txt");
  vector<string> aa;
  char ee[255];
 
//input
  if (c.is_open()) {
    while(!c.eof()) {
      c.getline(ee, 254);
      aa.push_back(ee);
    }
//    sort
    sort(aa.begin(), aa.end(), Mycompare);
    
//output
//  for (unsigned int j=0; j<aa.size(); j++) dd<<aa[j].c_str()<<endl;
    for (vector<string>::iterator j=aa.begin(); j!=aa.end(); j++)
    {
        std::reverse(j->begin(), j->end());
        d<< *j <<endl;
    }
  }
  c.close();
  d.close();
 
    return 0;
}
1
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:15  [ТС] #5
Круто!!! Спасибо большое!!!
0
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629
03.10.2012, 15:17 #6
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
bool Mycompare ( string elem1, string elem2 )
Так ведь строки копироваться будут, разве нет?
0
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:19  [ТС] #7
Ну вроде работает нормально
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
03.10.2012, 15:19 #8
Кот Ангенс, В С++03 будут, в С++11 - смотря как передавать (ну это не учитывая copy-elision и прочие плюхи). Я просто не стал править код автора.)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 15:19
Привет! Вот еще темы с ответами:

Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы - C++
Мир всем, помогите понять суть задания: &quot;Две строки матрицы назовем похожими, если совпадают множества чисел встречающихся в этих...

Найти сумму всех чётных строк матрицы и отсортировать элементы нечётных строк по возрастанию - C++
1.Задана матрица целых чисел.Найти сумму всех четных строк матрицы и отсортировать элементы не четных строк по возрастанию.

Программа для поиска соответствие строк, учитывая регистр, в текстовом файле с 10000+ строк - C++
Уважаемые форумчане, прошу у вас помощи я неделю в поисках. Мне нужна программа или код для поиска слов, очень похожую на расширение Pearls...

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


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
03.10.2012, 15:19
Ответ Создать тему
Опции темы

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