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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2015, 14:35   #1
Werts
Новичок
Джуниор
 
Регистрация: 20.01.2015
Сообщений: 5
По умолчанию В один файл перепишите из каждой строки первые р слов исходного, в другой - оставшиеся

Доброго времени суток, уважаемые программисты. Итак, была задача: Пусть дан текстовый файл. Создайте два выходных файла: в один перепишите из каждой строки первые р слов (р задается вводом), в другой оставшиеся. Если в строке меньше чем р слов, то во втором файле соответствующая строка должна быть пустой.
вот программка:
Код:
#include <stdio.h>
#include <conio.h>
int main(){
FILE *fp_read, *fp_out_a, *fp_out_b, *fp_changer;
fp_read    = fopen("lab5_in.txt", "r");
fp_out_a   = fopen("lab5_out_a.txt", "w");
fp_out_b   = fopen("lab5_out_b.txt", "w");
fp_changer = fp_out_a;
int p;
printf("Enter the number p:" );
scanf ("%d", &p);
char ch;
int wnum = 0;
do{
fscanf(fp_read,"%c",&ch);
if(ch!='\n'){
fprintf(fp_changer,"%c",ch);
if(ch==' ') wnum++;
if(wnum==p) fp_changer = fp_out_b;
}
else{
fp_changer = fp_out_a;
wnum = 0;
fprintf(fp_out_a,"%c",ch);
fprintf(fp_out_b,"%c",ch);
}
}while(!feof(fp_read));
fclose(fp_read);
fclose(fp_out_a);
fclose(fp_out_b);
getch();
return 0;
}
Объясните, пожалуйста для чего в данной программе нужны fp_changer и ch? Очень буду признателен.

Последний раз редактировалось Stilet; 20.01.2015 в 14:48.
Werts вне форума Ответить с цитированием
Старый 20.01.2015, 14:52   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

fp_changer переключает вывод в файлы. Если (wnum==p) тоесть кол-во слов как я понимаю, для первого файла достигло своего предела, то вывод переключается во второй файл, и наоборот. С начала строки вывод подключен к файлу "а".
ch же служит для определения окончания строки (видимо), поскольку похоже что в файлы пишется не слова а символы, т.е. посимвольно, пока не конец строки или (и) пока не достигнуто определенное слово по номеру.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2015, 16:12   #3
Werts
Новичок
Джуниор
 
Регистрация: 20.01.2015
Сообщений: 5
По умолчанию

огромное спасибо, что не поленились и откликнулись.
Werts вне форума Ответить с цитированием
Старый 20.01.2015, 16:16   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пожалуйста.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы,паскаль - Файл содержит пары чисел.Из каждой пары взять большее и записать в другой файл Vika2112 Помощь студентам 1 13.12.2012 08:35
Открываем один файл - открывается другой (макрос?) almik Microsoft Office Excel 5 09.06.2011 14:26
Записать в микрофон один текст и другой, а потом пустить один текст в правый канал, а другой - в левый FAN2010 Помощь студентам 6 18.04.2011 17:00
Преобразовать один файл в другой по требованию valerij Microsoft Office Excel 20 07.09.2010 22:42