Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2009, 01:53   #1
salmanov
 
Регистрация: 18.11.2008
Сообщений: 9
По умолчанию Пословный делитель файла на 2

Пословный делитель файла на 2. Из достаточно длинного файла выбирать четные и нечетные слова и сохранять их в двух других файлах.

есть что нить подобное??? Исходники, или алгоритмы???Желательно С++.
salmanov вне форума Ответить с цитированием
Старый 22.06.2009, 02:09   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Имеется переменная (k), которая указывает на то, четное или нечетное текущее слово.
Есть строка-буфер, куда будем читать очередное слово и символьная переменная.

Код:
k = 1
пока не конец файла
 {
 пока текущий символ является символом-разделителем (пробел, запятая) и не конец файла
   {  переходим к следующему символу  }
 очищаем строку-буфер
 пока текущий символ не является символом-разделителем и не конец файла
   { 
    добавляем текущий символ к строке-буферу
    переходим к следующему символу
   }
 если k=1 то
  {
    пишем слово в файл
    k = 0
  }
 иначе 
  {
   пишем слово в файл2
   k = 1
  }
 }
Как-то так.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.06.2009, 19:12   #3
salmanov
 
Регистрация: 18.11.2008
Сообщений: 9
По умолчанию

Код:
#include <stdio.h>

 main()
{
     FILE* inpf = fopen("d:\\borlandc\\bin\\text.txt", "r");
     FILE* outf1 = fopen("d:\\borlandc\\bin\\out_1.txt", "w");
     FILE* outf2 = fopen("d:\\borlandc\\bin\\out_2.txt", "w");

     char word[255];
     int pos = 0;
     bool bit = false;

     while(!feof(inpf))
     {
          char c = fgetc(inpf);
          if(!(c == ' ' || c == '\t' || c == '\r' || c == '\n'))
          {
               word[pos] = c;
               pos++;
          }
          else if(pos > 0)
          {
               FILE* of = bit ? outf1 : outf2;
               bit = !bit;

               fwrite(word, pos, 1, of);
               fwrite("\n", 1, 1, of);
               pos = 0;
          }
     }

     fclose(inpf);
     fclose(outf1);
     fclose(outf2);
}
вдруг кому то надо.

Последний раз редактировалось MaTBeu; 22.06.2009 в 20:16.
salmanov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить прогамму, отысивающую наименьший общий составной делитель натуральных чисел N и M. Paskal Frontier Помощь студентам 7 16.12.2014 14:01
Определить из наибольший общий делитель, используя функцию нахождения общего делителя. Igomax Помощь студентам 6 23.05.2009 19:41
наибольший общий делитель Ge0rGE Помощь студентам 12 03.05.2009 20:09
Наименьший общий делитель Witaliy Помощь студентам 11 25.03.2009 13:20