Модераторы: bsa
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Работа с файлами, Нужно готовый пример отрадактировать 
:(
    Опции темы
nefestim
Дата 29.1.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 29.1.2008

Репутация: нет
Всего: нет



Вот код:

Код

#include "stdafx.h"
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
bool Mycompare ( string elem1, string elem2 )
{
    return elem1 > elem2;
}
int _tmain(int argc, _TCHAR* argv[])
{
/*
  ifstream c("input.txt");
  ofstream d("output2.txt");
  char e[255];
  char **aa, **bb;
  int j, m;
// Первоначальное отведение памяти
  m=10;
  aa = new char*[m];
  int i=0;
  if (c.is_open()) {
    for (; !c.eof();) {
      c.getline(e, 254);
      aa[i]=new char[strlen(e)+1];
      strcpy(aa[i], e);
      i++;
      if (i>=m) {
// Отведение дополнительной памяти
        bb = new char*[m+10];
        for (j=0; j<m; j++) bb[j]=aa[j];
        m+=10;
        delete [] aa;
        aa = new char*[m];
        for (j=0; j<m-10; j++) aa[j]=bb[j];
        delete [] bb;
      }
    }
// сортировка
    int n;
    char *w;
    for (int k=0; k<i-1; k++) {
      n=k;
      for (int l=k+1; l<i; l++) if (strcmp(aa[n], aa[l])<0) n=l;
      if (n>k) {
        w=aa[k];
        aa[k]=aa[n];
        aa[n]=w;
      }
    }
// вывод
    for (j=0; j<i; j++) d<<aa[j]<<endl;
// освобождение памяти
    for (j=0; j<i; j++) delete [] aa[j];
    delete [] aa;
  }
  c.close();
  d.close();
*/
// stl 
  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;
}


Нужно изменить его так чтобы он дополнительно выполнял функцию: 
Отбросить все символы в строках с номером символа менее 10 и затем отсортировать строки в алфавитном порядке. 
PM MAIL   Вверх
archimed7592
Дата 29.1.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93




M
archimed7592
Закрыто: дубль.



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.