![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Neon6868 |
![]() ![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание:Написать программу, которая считывает текст из файла и определяет, сколько в нём слов, состоящих из не более чем четырёх букв.
Я написал открытие и чтение из файла, а как делать дальше, чтобы узнать сколько слов, состоящих из не более чем четырёх букв. Подскажите хотя бы идею!!! Программа: Код # include <stdio.h> void main () { FILE *fin; fin=fopen("G:\\text.txt","rt"); if (!fin) { printf("\nOshibka otkritiya faila!"); return; } fseek(fin,0,SEEK_END); long len=ftell(fin); char *buf=new char[len+1]; const int l_block=1024; int num_block=len/l_block; fseek(fin,0,SEEK_SET); fread(buf,l_block,num_block+1,fin); buf[len]='\0'; long i=0; fclose(fin); } Сообщение отредактировано: Neon6868 - 21.04.2007 18:26 |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Язык - то какой ? телепат штатный в отпуске ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]() ![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Как могут разделяться слова ?
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
klem4 |
![]()
Сообщение
#6
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
В принципе не важно ...
# include <stdio.h>
# include <conio.h>
# include <string.h>
# define file_name "C:\\text.txt"
# define limits " ;,.?!"
int main(void) {
char *s = new char[255];
FILE* f;
if (!(f = fopen(file_name, "rt"))) {
printf("Cant open file '%s'\n", file_name);
return 0;
}
int count = 0;
int back;
while (fgets(s, 255, f)) {
puts(s);
int i = 0;
while (i < strlen(s)) {
while ((i < strlen(s)) && (strchr(limits, s[i]))) i++;
if (i < strlen(s)) {
back = i;
while ((i < strlen(s)) && (!(strchr(limits, s[i])))) i++;
count += (i - back - 1 <= 4) ? 1 : 0;
}
}
}
printf("count = %d\n", count);
fclose(f); delete(s);
return 0;
}
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]() ![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я твою программу проверил,но там 5 ошибок!
|
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
очень интересно ... а главное аргументированно и информативно.
Какие ошибки ? В каких строках ? При каких входных данных ? Какой компилятор ? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]() ![]()
Сообщение
#9
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Компилятор Turbo C
Ошибки: 8 строка-Undefined symbol new 8 строка-Declaration syntax error 15 строка-Declaration is not allowed 16 строка-Declaration is not allowed 19 строка-Declaration is not allowed |
klem4 |
![]()
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Интересно как ты свою программу компилировал ...
Попробуй вот так: # include <stdio.h>
# include <conio.h>
# include <string.h>
# include <alloc.h>
# define file_name "C:\\text.txt"
# define limits " ;,.?!"
int main(void) {
char *s;
s = (char*)malloc(255 * sizeof(char));
FILE* f;
if (!(f = fopen(file_name, "rt"))) {
printf("Cant open file '%s'\n", file_name);
return 0;
}
int count, back, i;
count = 0;
while (fgets(s, 255, f)) {
puts(s);
i = 0;
while (i < strlen(s)) {
while ((i < strlen(s)) && (strchr(limits, s[i]))) i++;
if (i < strlen(s)) {
back = i;
while ((i < strlen(s)) && (!(strchr(limits, s[i])))) i++;
count += (i - back - 1 <= 4) ? 1 : 0;
}
}
}
printf("count = %d\n", count);
fclose(f); free(s);
return 0;
}
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]()
Сообщение
#11
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Теперь уже 2 ошибки:
11 строка-Declaration is not allowed 18 строка-Declaration is not allowed |
klem4 |
![]()
Сообщение
#12
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Заархивируй папку с компилятором и присоедини сюда ... У меня нету чистого сишного компилятора.
По поводу 11 строки пока не знаю в чем проблема FILE* f;
А вот 18 int count, back, i;
Попробуй каждую переменную на отдельной строке описать.
int i;
int count;
int back;
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]()
Сообщение
#13
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня не получается архив присоединить!
Добавлено через 13 мин. Код А вот 18 int count, back, i; Попробуй каждую переменную на отдельной строке описать. Я так сделал, теперь стало 4 такие же ошибки! Одна в 19 строке, другая-в 20. Сообщение отредактировано: Neon6868 - 21.04.2007 21:16 |
klem4 |
![]()
Сообщение
#14
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Бред какой-то ... ну залей архив на zalil.ru или на webfile.ru раз сюда не получается ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]()
Сообщение
#15
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот ссылка: Архив Turbo C
|
klem4 |
![]()
Сообщение
#16
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
# include <stdio.h>
# include <conio.h>
# include <string.h>
# define file_name "C:\\text.txt"
# define limits " ;,.?!"
FILE *f;
int count, back, i;
int main(void) {
char *s;
s = (char*)malloc(255 * sizeof(char));
if (!(f = fopen(file_name, "rt"))) {
printf("Cant open file '%s'\n", file_name);
return 0;
}
count = 0;
while (fgets(s, 255, f)) {
puts(s);
i = 0;
while (i < strlen(s)) {
while ((i < strlen(s)) && (strchr(limits, s[i]))) i++;
if (i < strlen(s)) {
back = i;
while ((i < strlen(s)) && (!(strchr(limits, s[i])))) i++;
count += (i - back - 1 <= 4) ? 1 : 0;
}
}
}
printf("count = %d\n", count);
fclose(f); free(s);
return 0;
}
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Neon6868 |
![]() ![]()
Сообщение
#17
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
klem4
Большое спасибо! Очень помог! |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 8:46 |