IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Файлы, Язык Си.Помогите найти ошибку
Neon6868
сообщение 22.04.2007 15:17
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Задание:Написать программу, которая считывает текст из файла и определяет, сколько в нём слов, состоящих из не более чем четырёх букв.

Мне прогу написали, но мне надо её изменить.Я изменил, но она почему-то перестала работать!Файл открывается, но на экран ничего не выводится(как будто текст пустой)!И поэтому количество слов выводится 0.
Подскажите пожалуйста где ошибка!!!

Программа:
# include <stdio.h>
# include <conio.h>
# include <string.h>
# define name "G:\\text.txt"
# define znak ";,.?!"
void main()
  {
  FILE *f;
  int x,y,i;
  if (!(f=fopen(name,"rt"))) printf("\nOshibka otkritiya faila:");
  fseek(f,0,SEEK_END);
  long len=ftell(f);
  char *s=new char[len+1];
  x=0;
  while (fgets(s,255,f))
	{
	puts(s);
	i=0;
	while (i<strlen(s))
	  {
	  while ((i<strlen(s)) && (strchr(znak,s[i]))) i++;
	  if (i<strlen(s))
	{
	y=i;
	while ((i<strlen(s)) && (!(strchr(znak,s[i])))) i++;
	x+=(i-y-1<=4)?1:0;
	}
	  }
	}
	printf("Kol-vo slov,sostoyashix iz menee 4 bukv=%d\n",x);
	fclose(f);
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 29.07.2025 20:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"