Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.63
igor4uk!
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 10
#1

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

27.04.2011, 21:42. Просмотров 6308. Ответов 17
Метки нет (Все метки)

Нужна ваша помощь. Прога должна быть на языке С.
http://www.cyberforum.ru/cpp-beginners/thread456526.html
Дано текст. Найти самое длинное слово.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2011, 21:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Дано текст. Найти самое длинное слово. (C++):

Считать текст из файла, найти самое длинное слово и определяет
Считать текст из файла, найти самое длинное слово и определяет, сколько раз оно...

Считать текст из txt-файла и найти самое длинное слово и количество слов
Доброго времени суток ! надо считать текст с файла тхт и найти самое длинное...

Найти в тексте самое длинное слово и самое длинное предложение
вписать текст с клавиатуры и найти в этом тексте самое длинное слово и самое...

Дан текст из нескольки строк, определить самое длинное и самое короткое слово
Вот задание: Дан текст из нескольки строк, определить самое длинное и самое...

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

17
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
27.04.2011, 22:02 #2
Щас подожди немного
0
igor4uk!
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 10
27.04.2011, 22:08  [ТС] #3
Цитата Сообщение от Nursik77 Посмотреть сообщение
Щас подожди немного
подожду)
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
27.04.2011, 22:13 #4
Вообще-то можешь тут посмотретьhttp://www.cyberforum.ru/cpp-beginners/thread179942.html
0
igor4uk!
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 10
27.04.2011, 22:16  [ТС] #5
Цитата Сообщение от Nursik77 Посмотреть сообщение
Вообще-то можешь тут посмотретьhttp://www.cyberforum.ru/cpp-beginners/thread179942.html
там на С++
0
Overmind024
99 / 99 / 27
Регистрация: 10.09.2010
Сообщений: 267
27.04.2011, 22:17 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main()
{
    char str[256],*temp;
    gets(str);
    int len;
    int max_len = strlen(temp = strtok(str," ,.!?"));
    while(temp = strtok(NULL," ,.!?"))
    {
        len = strlen(temp);
        if(len>max_len)
            max_len = len;
    }
    printf("%i\n",max_len);
    _getch();
    return 0;
}
Как то так.
0
igor4uk!
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 10
27.04.2011, 22:23  [ТС] #7
Цитата Сообщение от Overmind024 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main()
{
    char str[256],*temp;
    gets(str);
    int len;
    int max_len = strlen(temp = strtok(str," ,.!?"));
    while(temp = strtok(NULL," ,.!?"))
    {
        len = strlen(temp);
        if(len>max_len)
            max_len = len;
    }
    printf("%i\n",max_len);
    _getch();
    return 0;
}
Как то так.
а можна код на С, а то я в С++ полный 0
0
neske
1526 / 893 / 191
Регистрация: 26.03.2010
Сообщений: 3,072
27.04.2011, 22:28 #8
igor4uk!, друг мой, это и есть си.
0
Overmind024
99 / 99 / 27
Регистрация: 10.09.2010
Сообщений: 267
27.04.2011, 22:34 #9
Цитата Сообщение от neske Посмотреть сообщение
igor4uk!, друг мой, это и есть си.
Думал что хотя бы си знает
1
igor4uk!
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 10
27.04.2011, 22:38  [ТС] #10
Цитата Сообщение от Overmind024 Посмотреть сообщение
Думал что хотя бы си знает
значит нифига не знаю)
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
27.04.2011, 22:43 #11
Вот немного пдоправил код Overmind024-а :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main()
{
    char str[256],*temp;
    clrscr();
    puts("Vvedite stroku: ");
        gets(str);
        int len;
        int max_len = strlen(temp = strtok(str," ,.!?"));
        while(temp == strtok(NULL," ,.!?"))
        {
                len = strlen(temp);
                if(len>max_len)
                        max_len = len;
        }
    printf("Samoe dlinnoe slovo sostoit iz %i simvolov\n",max_len);
        getch();
        
}
А еще можете посмотреть тут: http://www.cyberforum.ru/cpp-beginners/thread87411.html

Добавлено через 1 минуту
А вот еще вариант:
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
#include<stdio.h>
#include <stdlib.h>
 
char c, cpr, a[20], b[20];          //с - рабочий(текущий) символ, сpr - символ, предшествующий(предыдущий), а - текущее слово, б - самое длинное слово
int i=0, j=0, 
 
 
MAIN() 
{
    int count = 0;
    short state = 0;
    char c = getchar();                          //первый символ
  while((c=getchar())!=EOF)         //проверка на конец файла
  { cpr=c;                                //текущий символ становиться предыдущим
    char c = getchar();                          //а на место текущего вводиться новый
    if(cpr==' ' && c!=' ')               //проверка на начало слова 
    { n++;                                  //номер текущего слова
      for(i=0;c!=' ';i++)               // начинаеться считывание символов в массив (чтобы сформировать слово) вплоть до пробела(конца слова)
      { a[i]=c;                                
     char c = getchar();
      }
      if(i>j)                             //кол-во букв в текущем слове больше чем в самом длинном? если да, то слово из рабочего массива переноситься в массив b и становиться самым длинным
      { for(j=0;j<=i;j++)
    {b[j]=a[j];}
        }
  }                                                     //конец цикла
  printf("The longest word is: ");           // вывод
  for(i=0;i<=j;i++)
  { printf("%c", b[i]);}
 return 0;
}
0
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
27.04.2011, 22:44 #12
Цитата Сообщение от Nursik77 Посмотреть сообщение
C++
1
MAIN()
лолчто? о_О
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
27.04.2011, 22:49 #13
Цитата Сообщение от silent_1991 Посмотреть сообщение
лолчто? о_О
main
0
neske
1526 / 893 / 191
Регистрация: 26.03.2010
Сообщений: 3,072
27.04.2011, 22:57 #14
Nursik77, мало того, что вы "подправляли" совершенно верный код, дак вы еще ошибок своих налепили.
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.04.2011, 14:54 #15
Цитата Сообщение от neske Посмотреть сообщение
Nursik77, мало того, что вы "подправляли" совершенно верный код, дак вы еще ошибок своих налепили.
Насчет "совершенно верного кода" не согласен, где вы видели чтоб перед getch стояла нижняя черточка? Ну да перестарался малость, с кем не бывает, как говорится: " Не ошибается тот, кто ничего не делает". Сами хороши, могли бы и подправить, вот так-с теперь нормально:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main()
{
        char str[256],*temp;
        gets(str);
    int len;
        int max_len = strlen(temp = strtok(str," ,.!?"));
        while(temp = strtok(NULL," ,.!?"))
        {
                len = strlen(temp);
                if(len>max_len)
                        max_len = len;
        }
        printf("%i\n",max_len);
    getch();
        return 0;
}
0
neske
1526 / 893 / 191
Регистрация: 26.03.2010
Сообщений: 3,072
28.04.2011, 14:59 #16
Nursik77, _getch - это расширение от MSVC помоему, так что в этом ничего нету)
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.04.2011, 15:09 #17
Может быть, просто у меня он с этой черточкой не скомпилился.
0
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
28.04.2011, 15:27 #18
Цитата Сообщение от Nursik77 Посмотреть сообщение
Может быть
Так и есть.
1
28.04.2011, 15:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2011, 15:27
Привет! Вот еще темы с решениями:

Дано предложение. Напечатать самое длинное слово
Дано предложение. Напечатать его самое длинное слово(принять что такое...

В заданном предложении найти самое короткое и самое длинное слово
Строка вводится с клавиатуры. Нужно выполнить задание, не применяя функций...

Найти самое короткое и самое длинное слово в строке
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include...

Найти самое длинное и самое короткое слово в тексте
найти самое длинное и самое короткое слово в тексте #include &quot;stdafx.h&quot;endl;...


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

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

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