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

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

Восстановить пароль Регистрация
 
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:12     Реверсирование строк #1
Нужно отсортировать строки по алфавиту и вывести в файл реверсированные строки.
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.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
03.10.2012, 15:13     Реверсирование строк #2
СергейАС, std::reverse.
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:14  [ТС]     Реверсирование строк #3
А как она работает?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:15  [ТС]     Реверсирование строк #5
Круто!!! Спасибо большое!!!
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
03.10.2012, 15:17     Реверсирование строк #6
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
bool Mycompare ( string elem1, string elem2 )
Так ведь строки копироваться будут, разве нет?
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:19  [ТС]     Реверсирование строк #7
Ну вроде работает нормально
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 15:19     Реверсирование строк
Еще ссылки по теме:

Используя функцию копирования строк, организуйте конкатенацію и копирование строк в четвертый массив, содержащий полные имена C++
Запросить название учебного заведения, специальность и номер группы. записав их в массив из 3 строк. Подсчитать длины каждой строк C++
C++ Вводится массив строк текста с неизвестным заранее количеством строк

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
03.10.2012, 15:19     Реверсирование строк #8
Кот Ангенс, В С++03 будут, в С++11 - смотря как передавать (ну это не учитывая copy-elision и прочие плюхи). Я просто не стал править код автора.)
Yandex
Объявления
03.10.2012, 15:19     Реверсирование строк
Ответ Создать тему
Опции темы

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