Задача на файлы (язык С)

Ответить
Katiox-xa
Сообщения: 6
Зарегистрирован: 02 окт 2008, 09:41

24 ноя 2008, 14:05

Здравствуйте.
Помогите, пожалуйста, в написании программы
Скопировать содержимое текстового файла, удалив в каждой строке слово номер N+1, если в слове N есть 4.

У меня пока получилось только: Скопировать содержимое текстового файла, удалив в каждой строке слово номер N

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>

void del_n(char *pathFileInput, char *pathFileOutput, unsigned int *N)
{
	char c;
	unsigned int i=1;

	FILE *fileInput;
	FILE *fileOutput;
	fileInput =fopen(pathFileInput,  "r");
	fileOutput=fopen(pathFileOutput, "w");

	while((c=fgetc(fileInput))!=EOF)
	{

		while(c!='\n' && c!=EOF)
		{
			if (c==' ')
			{
				i++;
				fputc(' ', fileOutput);
			}
			else
			  {

			    if  (i!= *N)
				fputc(c, fileOutput);

			  }
			c=fgetc(fileInput);


		}
		i=1;
		fputc('\n', fileOutput);
	}
	fclose(fileInput);
	fclose(fileOutput);
}

void main(void)
{
	char *strInput;
	char *strOutput;
	unsigned int *number;

	strInput=(char*)calloc(20, sizeof(char));
	strOutput=(char*)calloc(20, sizeof(char));
	number=(unsigned int*)malloc(1*sizeof(unsigned int));

	printf("Input file path:  ");
	scanf("%s", strInput);
   printf("Output file path:  ");
	scanf("%s", strOutput);
   printf("Number:  ");
	scanf("%u", n);
	printf("\n");

	del_n(strInput, strOutput, number);

	free(strInput);
	free(strOutput);
	free(number);
}
StarWorm
Сообщения: 24
Зарегистрирован: 18 ноя 2008, 10:28

24 ноя 2008, 15:12

удалив в каждой строке слово номер N+1, если в слове N есть 4.
что значит в слове N есть 4???
Katiox-xa
Сообщения: 6
Зарегистрирован: 02 окт 2008, 09:41

24 ноя 2008, 22:13

один из символов в слове под номером N 4
StarWorm
Сообщения: 24
Зарегистрирован: 18 ноя 2008, 10:28

25 ноя 2008, 13:06

Все равно не понял... приведи наглядный пример!!!
Katiox-xa
Сообщения: 6
Зарегистрирован: 02 окт 2008, 09:41

25 ноя 2008, 14:08

Есть входной файл
qqq qqq qqq4qq qqq
qqq qqq qqqq qqqq
qqq qqqqq qqqq4qqq qqqq q


Введите номер слова
3


Выходной файл будет:
qqq qqq qqq4qq
qqq qqq qqqq qqqq
qqq qqqqq qqqq4qqq q
Katiox-xa
Сообщения: 6
Зарегистрирован: 02 окт 2008, 09:41

25 ноя 2008, 14:10

Во входном файле смотрим третье слово. В нем есть 4? Да, тогда удаляем четвертое(3+1) слово. Нет, тогда ничего не делаем.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

25 ноя 2008, 19:12

1. Раздел "Алгоритмы", тема "Разбиение строки на слова"
2. Функция pos
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
StarWorm
Сообщения: 24
Зарегистрирован: 18 ноя 2008, 10:28

26 ноя 2008, 00:19

если нужна помощь обращайся...
382 шесть шесть шесть 671 :cool:
Ответить