Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
goocha
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 38
#1

Найти самое длинное слово в файле - C++

13.02.2012, 17:16. Просмотров 1765. Ответов 2
Метки нет (Все метки)

Есть програма но в ней нужно дописать функцию которая бедет, получать название файла, а возращает позицию самого длинного слова и самое длинное слово выводит на екран.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
int func(char*, char);
 
void main () {
 
 FILE *file;
 char str[12], smb;
 int i;
 cout << ("\n\nInput name of your file: ");
 cin >> ("%12s",str);
 
//creating file...//
 if ((file = fopen(str, "w")) == NULL)
   cout << ("\r\nFile '%s' could not be created\n", str);
 else
  {
    cout << ("\r\nFile ");
    cout << ("'%s' ", str);
    cout << ("has been created\r\n\r\n");
    cout << ("Write data to file:");
    cout << ("\r\n\r\n");
   do {
    smb = getche();
    if (smb == ' ') smb = ',';
     else if (smb == '\r') {smb = ';'; putc('\n',stdout);}
     if (smb != 0x1B) putc(smb,file);
   } while (smb != 0x1B);
   putc('.',file);
    fclose(file);
   cprintf("\r\nClose file.");
  }
}
Добавлено через 1 час 4 минуты
Вот дописал функцию только вывод самого длинного слова никак не получается.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
int func(char);
 
void main () {
 
 FILE *file;
 char str[12], smb;
 int i;
 cout << ("\n\nInput name of your file: ");
 cin >> ("%12s",str);
 
//creating file...//
 if ((file = fopen(str, "w")) == NULL)
   cout << ("\r\nFile '%s' could not be created\n", str);
 else
  {
    cout << ("\r\nFile ");
    cout << ("'%s' ", str);
    cout << ("has been created\r\n\r\n");
    cout << ("Write data to file:");
    cout << ("\r\n\r\n");
   do {
    smb = getche();
    if (smb == ' ') smb = ',';
     else if (smb == '\r') {smb = ';'; putc('\n',stdout);}
     if (smb != 0x1B) putc(smb,file);
   } while (smb != 0x1B);
   putc('.',file);
    fclose(file);
   cprintf("\r\nClose file.");
  }
 //my function...//
func(str);
//vivod
}
 
 
 
int func(char name[12])
{
  FILE  *file;
  char  tmp;
  if ((file = fopen(name, "r+")) == NULL)
  cprintf("\r\nFile '%s' could not be opened\n", name);
 else
  {
   cout << ("\r\n\r\nFile ");
   cout << ("'%s' ", name);
   cout << ("has been opened");
  int cur=0;
   int maxlen=0;
  bool flag=true;
    while(fgetc(file)!=EOF){
    while(fgetc(file)!=','||fgetc(file)!=EOF) cur++;
    maxlen=(maxlen<cur)?cur:maxlen;
    return maxlen;
    }
  }
}
Добавлено через 14 часов 55 минут
Помогите) срочно надо но никак не могу сделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 17:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти самое длинное слово в файле (C++):

Найти самое длинное слово в файле - C++
Есть программа которая ищет и выводит количество символов в файле. В ней нужно дописать поиск самого длинного слова и вывести его на экран ...

Найти самое длинное слово в файле - C++
В заданном тексте (файле) найти самое длинное слово и самую длинную фразу и вывести их на экран. (C++)

В файле найти самое длинное слово - C++
Ребята, нужно написать программу, которая считывает текст из файла и находит самое длинное слова, а так же считает сколько раз оно...

Нужно найти самое длинное слово в файле - C++
Уже час не могу понять в чем ошибка, все компилируется, но выдает лишь последний символ. #include&lt;iostream&gt; #include&lt;fstream&gt; ...

Строки. В заданном тексте найти самое длинное слово и самое длинное предложение. - C++
Задача: В заданном тексте найти самое длинное слово и самое длинное предложение. Помогите решить На СИ++ в Visual Studio.

Найти самое длинное слово в файле и определить количество его вхождений - C++
Помогите пожалуйста с програмой. Не могу понять как ето зделать: Написать программу, которая считывает текст из файла, находит самое...

2
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 18:16 #2
Цитата Сообщение от goocha Посмотреть сообщение
Помогите) срочно надо но никак не могу сделать
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    long sLen;
    long mLen;
    char maxWord[32];
    char * word;
    char * text;
    char delim[] = ",.?!-;: \n";
    FILE * file = fopen("data.txt","rb");
    if(!file)
        printf("Error open data.txt\n");
    else
    {
        fseek(file,0,SEEK_END);
        sLen = ftell(file);
        fseek(file,0,SEEK_SET);
        if(!(text = (char *)malloc((1 + sLen)*sizeof(char))))
            printf("Allocation memory error\n");
        else
        if(!fread(text,1,sLen,file))
            printf("Error read data.txt\n");
        else
            text[sLen] = '\0';
        fclose(file);
        if(text)
        {
            mLen = (sLen = 0);
            printf("Data in file\n");
            word = strtok(text,delim);
            while(word)
            {
                printf("%s ",word);
                sLen = strlen(word);
                if(mLen < sLen)
                {
                    strcpy(maxWord,word);
                    mLen = sLen;
                }
                word = strtok(NULL,delim);
            }
            printf("\nWord with max len %s\n",maxWord);
        }
    }
    system("pause");
    return 0;
}
data.txt
GCC, the GNU Compiler Collection


The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom.

We strive to provide regular, high quality releases, which we want to work well on a variety of native and cross targets (including GNU/Linux), and encourage everyone to contribute changes or help testing GCC. Our sources are readily and freely available via SVN and weekly snapshots.

Major decisions about GCC are made by the steering committee, guided by the mission statement.
0
Миниатюры
Найти самое длинное слово в файле  
-=ЮрА=-
13.02.2012, 18:21     Найти самое длинное слово в файле
  #3

Не по теме:

PS:Решал тупо с помощью strtok более изящное на мой взгляд решение здесь
Вывести слова которые повторяются и количество их повторения

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2012, 18:21
Привет! Вот еще темы с ответами:

Найти в тексте самое длинное слово и самое длинное предложение - C++
вписать текст с клавиатуры и найти в этом тексте самое длинное слово и самое длинное предложение.Предложения должны быть разделены точкой.

Напечатать самое длинное слово, найденное в текстовом файле - C++
ЗДРАВСТВУЙТЕ! подскажите с чего начать в решениие этой задачи ==&gt; &quot;Напечатать самое длинное слово, найденное в текстовом файле&quot;, нужно...

Строки: найти самое короткое и самое длинное слово - C++
прошу спосите меня.... Дана строка текста, в которой слова разделены пробелами. Необходимо: - определить количество слов в строке; ...

Найти самое короткое и самое длинное слово в строке - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using namespace std; void inp(char); void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru