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

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

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

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

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

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

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

Считать текст из файла, найти самое длинное слово и определяет - C++
Считать текст из файла, найти самое длинное слово и определяет, сколько раз оно встретилось в тексте. Добавлено через 5 часов 40 минут...

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

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

Дан текст из нескольки строк, определить самое длинное и самое короткое слово - C++
Вот задание: Дан текст из нескольки строк, определить самое длинное и самое короткое слово.... Я смог решить тока для одной...

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

17
Nursik77
273 / 233 / 21
Регистрация: 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 / 21
Регистрация: 05.04.2011
Сообщений: 645
27.04.2011, 22:13 #4
Вообще-то можешь тут посмотретьНайти самое длинное слово в строке
0
igor4uk!
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 10
27.04.2011, 22:16  [ТС] #5
Цитата Сообщение от Nursik77 Посмотреть сообщение
Вообще-то можешь тут посмотретьНайти самое длинное слово в строке
там на С++
0
Overmind024
99 / 99 / 6
Регистрация: 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
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
27.04.2011, 22:28 #8
igor4uk!, друг мой, это и есть си.
0
Overmind024
99 / 99 / 6
Регистрация: 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 / 21
Регистрация: 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
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
27.04.2011, 22:44 #12
Цитата Сообщение от Nursik77 Посмотреть сообщение
C++
1
MAIN()
лолчто? о_О
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
27.04.2011, 22:49 #13
Цитата Сообщение от silent_1991 Посмотреть сообщение
лолчто? о_О
main
0
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
27.04.2011, 22:57 #14
Nursik77, мало того, что вы "подправляли" совершенно верный код, дак вы еще ошибок своих налепили.
0
Nursik77
273 / 233 / 21
Регистрация: 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
28.04.2011, 14:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2011, 14:54
Привет! Вот еще темы с ответами:

Дано предложение. Напечатать самое длинное слово - C++
Дано предложение. Напечатать его самое длинное слово(принять что такое слово-единственное) Добавлено через 9 минут есть похожая...

Найти самое короткое и самое длинное слово в строке - 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...

Найти самое короткое и самое длинное слово в строке - C++
Введённый строке найти самое короткое и длинное слово.словом считается последовательность симболов,которое отделено пробелом или знаком...

Найти самое длинное и самое короткое слово в тексте - C++
найти самое длинное и самое короткое слово в тексте #include &quot;stdafx.h&quot;endl; #include &lt;iostream&gt; #include &lt;string&gt; #include...


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

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

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