|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2012, 17:11 | #1 |
Регистрация: 28.03.2011
Сообщений: 6
|
Работа с файлами
Напишите программу, которая считывает текст из файла и выводит на экран все слова, с максимальной длиной. Необходимо предусмотреть случай, если файла не существует.
Подскажите кто решения или хотя бы идею (нахождение слов с максимальной длинной) Вот проверка на существование файла и вывов его содержимого на экран: #include <fstream.h> #include <string.h> #include <stdio.h> #include <conio.h> int main() { char s[1000]; FILE * f; clrscr (); if ((f=fopen("readme.txt", "rt")) == NULL) {cout <<"fail ne najden" ;} do { int Char=fgetc (f); if (Char != EOF) putchar (Char); } while (!feof (f)); getch (); return 0; } |
12.02.2012, 17:48 | #2 |
Пользователь
Регистрация: 11.09.2011
Сообщений: 41
|
Проверка двумя способами если не путаю
1. Код:
Код:
|
12.02.2012, 18:48 | #3 |
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
Не совсем понял что именно нужно. Вот прога которая открывает текстовый файл и выводит его на экран:
Код:
|
12.02.2012, 19:53 | #4 |
Регистрация: 28.03.2011
Сообщений: 6
|
Не....мне надо вывести не все слова а только самые длинные......
Вот я написал кое-что....низнаю даже где и ошибка....Он вообще ничего не выводит кроме длины самого длинного слова. Наверное это потому что когда я первый раз "прошелся по файлу" его надо закрыть, а затем заново открывать...я же не закрывал (а если и закрывал то при выполнение программы она зависала и приходилась нажимать "ctrl+break") Вот примерный алгоритм: сначала я нашел самое длинное слово (слова)=max.....а затем пробовал заново "пройтись по файлу" и найти и вывести все слова равные длинне max... [C]#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <iostream.h> int main() { clrscr (); FILE *f; int max; char *e; char s[255]; int k,d,i,ii; f = fopen("lol.txt", "rt"); if (f==NULL) { printf("Owibka\n"); getch (); return 0; } max=0; ii=0; k=0; d=0; i=0; while(feof(f)==NULL) { e[0]=fgetc(f); if (e[0]!=' ') k++; if (e[0]==' ') { if (k>max) { (max=k); } k=0; } } // fclose (f); // f=fopen ("log.txt","rt"); while(feof(f)==NULL) { e[0]=fgetc(f); i++; s[i]=e[0]; if (e[0]!=' ') {(d++) ; } if ((e[0]==' ') && (d==max)) { ii=i-max; // возращение к началу слова for (int h=ii; h>=i; h++) { printf ("%s",s[h]); d=0; ii=0; } } } fclose(f); cout<<max; getch(); return 0; }[/C] |
12.02.2012, 21:38 | #5 | ||
Пользователь
Регистрация: 01.02.2012
Сообщений: 84
|
Цитата:
Цитата:
_File - сам файл _Offset - смещение (байт) _Origin - флаг Дефинионы для _Origin: SEEK_SET - установить по значению _Offset SEEK_CUR - установить начиная с текущего положения SEEK_END - установить в конец |
||
19.02.2012, 16:35 | #6 |
Регистрация: 28.03.2011
Сообщений: 6
|
Решил всё-таки доделать задачу до конца...вот код, может кому-нить пригодиться....:
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <iostream.h> int main() { clrscr (); int ggg; FILE *f; int max; char *e; char s[255]; int k,d,i,ii,m,h; f = fopen("readme.txt", "rt"); if (f==NULL) { printf("Owibka\n"); getch (); return 0; } cout<<"Samye dlinnye slova:\n"; max=0; ii=0; k=0; m=0; d=0; i=0; while(feof(f)==NULL) { e[0]=fgetc(f); if (e[0]!=' ') k++; if (e[0]==' ') { if (k>max) { (max=k); } k=0; } } fseek (f,0,SEEK_SET); while(feof(f)==NULL) { e[0]=fgetc(f); s[i]=e[0]; if (e[0]!=' ') (d++) ; if (e[0]==' ') { if (d==max) { ii=i-max; m=i; for (h=ii; h<=m; h++) { printf ("%c",s[h]); } ii=0; d=0; } else d=0; } i++; } fclose (f); getch(); return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами в С++ | Вячеслав1977 | Помощь студентам | 0 | 11.10.2011 08:45 |
работа с файлами на с++ | fireridlle | Помощь студентам | 3 | 09.02.2011 14:06 |
Работа с файлами | Kazik | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 18.05.2010 11:12 |
Работа с файлами | Dim@ | Помощь студентам | 1 | 26.12.2007 22:43 |