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

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

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

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

03.10.2012, 15:12. Просмотров 520. Ответов 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.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 15:12     Реверсирование строк
Посмотрите здесь:

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

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

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

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

Упорядочить по росту сумм элементов строк строки той матрицы, у которой больше нулевых строк - C++
Сидел думал над задачей почти всю ночь условия такие Даны три матрицы размером M x N. Упорядочить по росту сумм элементов строк строки ...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
03.10.2012, 15:13     Реверсирование строк #2
СергейАС, std::reverse.
СергейАС
1 / 1 / 1
Регистрация: 02.02.2012
Сообщений: 73
03.10.2012, 15:14  [ТС]     Реверсирование строк #3
А как она работает?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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 / 38
Регистрация: 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++
Всем привет. Есть одна проблемка в решении задачи. Задачу я решил, но необходимо немного доделать. Прошу помощи! Заранее благодарен) ...

Объясните смысл строк в коде (~20 строк) - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; using namespace std; int main() { char text; FILE *f =...

Добавление неодинаковых строк в массив строк - C++
Здравствуйте! Возникла такая проблема, не могу понять как реализовать добавление в массив строк нодинаковых значений. Вот моя проба, знаю,...

Добавление строк в масив строк - C++
Такой вот вопрос как в С++ сделать масив строк(строки статичной длинны), но чтобы можна было добавить ещё строки?


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

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

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